Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      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

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                leigong brettkk
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: