[ https://issues.apache.org/jira/browse/ZOOKEEPER-3009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16482242#comment-16482242 ]
Hadoop QA commented on ZOOKEEPER-3009: -------------------------------------- +1 overall. GitHub Pull Request Build +1 @author. The patch does not contain any @author tags. +0 tests included. The patch appears to be a documentation patch that doesn't require tests. +1 javadoc. The javadoc tool did not generate any warning messages. +1 javac. The applied patch does not increase the total number of javac compiler warnings. +1 findbugs. The patch does not introduce any new Findbugs (version 3.0.1) warnings. +1 release audit. The applied patch does not increase the total number of release audit warnings. +1 core tests. The patch passed core unit tests. +1 contrib tests. The patch passed contrib unit tests. Test results: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/1720//testReport/ Findbugs warnings: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/1720//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html Console output: https://builds.apache.org/job/PreCommit-ZOOKEEPER-github-pr-build/1720//console This message is automatically generated. > Potential NPE in NIOServerCnxnFactory > ------------------------------------- > > Key: ZOOKEEPER-3009 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3009 > Project: ZooKeeper > Issue Type: Bug > Affects Versions: 3.6.0 > Reporter: lujie > Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > Inspired by ZK-3006 , I develop a simple static analysis tool to find other > Potential NPE like ZK-3006. This bug is found by this tool ,and I have > carefully studied it. But i am a newbie at here so i may be wrong, hope > someone could confirm it and help me improve this tool. > h2. Bug description: > class NIOServerCnxn has three method > :getSocketAddress,getRemoteSocketAddress can return null just like : > {code:java} > // code placeholder > if (sock.isOpen() == false) { > return null; > } > {code} > some of their caller give null checker, some(total 3 list in below) are not. > {code:java} > // ServerCnxn#getConnectionInfo > Map<String, Object> info = new LinkedHashMap<String, Object>(); > info.put("remote_socket_address", getRemoteSocketAddress());// Map.put will > throw NPE if parameter is null > //IPAuthenticationProvider#handleAuthentication > tring id = cnxn.getRemoteSocketAddress().getAddress().getHostAddress(); > cnxn.addAuthInfo(new Id(getScheme(), id));// finally call Set.add(it will > throw NPE if parameter is null ) > //NIOServerCnxnFactory#addCnxn > InetAddress addr = cnxn.getSocketAddress(); > Set<NIOServerCnxn> set = ipMap.get(addr);// Map.get will throw NPE if > parameter is null{code} > I think we should add null check in above three caller . > -- This message was sent by Atlassian JIRA (v7.6.3#76005)