Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
We have developed a static analysis tool NPEDetector to find some potential NPE. Our analysis shows that some callees may return null in corner case(e.g. node crash , IOException), some of their callers have !=null check but some do not have. In this issue we post a patch which can add !=null based on existed !=null check. For example:
ZkGrep#parseZkSnapshot:
return retFiles; } catch (Exception e) { LOG.error("fail to parse zkSnapshot: " + lastZkSnapshot, e); } return null;
So parseZkSnapshot will return null while IOException happens. but its caller ZkGrep#processCommandLineArgs have no null checker:
File[] lastZkSnapshot = parseZkSnapshot(zkDataDirs[1], byTime);
// lastZkSnapshot[1] is the parsed last snapshot by byTime
grepZkSnapshot(lastZkSnapshot[1], patterns);
We should terminate the process while lastZkSnapshot == null
Attachments
Issue Links
- links to