diff --git a/infer/tests/ant_report.json b/infer/tests/ant_report.json index adf0de3e1..29581b79e 100644 --- a/infer/tests/ant_report.json +++ b/infer/tests/ant_report.json @@ -1,182 +1,182 @@ [ { - "procedure": "void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative()", - "file": "codetoanalyze/java/infer/AnalysisStops.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ContextLeaks.directLeak()", + "file": "codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" }, { - "procedure": "void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative()", - "file": "codetoanalyze/java/infer/AnalysisStops.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ContextLeaks.indirectHandlerLeak()", + "file": "codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" }, { - "procedure": "void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative()", - "file": "codetoanalyze/java/infer/AnalysisStops.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ContextLeaks.indirectLeak()", + "file": "codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" }, { - "procedure": "void AutoGenerated.npe()", - "file": "codetoanalyze/java/infer/AutoGenerated.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ContextLeaks.leakAfterInstanceFieldWrite()", + "file": "codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" }, { - "procedure": "void Builtins.doNotBlockError(Object)", - "file": "codetoanalyze/java/infer/Builtins.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ContextLeaks.nonStaticInnerClassLeak()", + "file": "codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" }, { - "procedure": "void CloseableAsResourceExample.notClosingCloseable()", - "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "ContextLeaks$Singleton ContextLeaks.singletonLeak()", + "file": "codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" }, { - "procedure": "void CloseableAsResourceExample.withException()", - "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetAuthorityCompareTo(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void CloseableAsResourceExample.notClosingWrapper()", - "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetAuthorityEndsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void CloseableAsResourceExample.failToCloseWithCloseQuietly()", - "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetAuthorityStartsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "T CloseableAsResourceExample.sourceOfNullWithResourceLeak()", - "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetAuthoriyEquals(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ContextLeaks.directLeak()", - "file": "codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "String TaintExample.taintGetHostCompareTo(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ContextLeaks.indirectLeak()", - "file": "codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "String TaintExample.taintGetHostEndsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ContextLeaks.nonStaticInnerClassLeak()", - "file": "codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "String TaintExample.taintGetHostEquals(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ContextLeaks.leakAfterInstanceFieldWrite()", - "file": "codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "String TaintExample.taintGetHostStartsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "ContextLeaks$Singleton ContextLeaks.singletonLeak()", - "file": "codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "String TaintExample.taintGetProtocolCompareTo(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ContextLeaks.indirectHandlerLeak()", - "file": "codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "String TaintExample.taintGetProtocolEndsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "int CursorLeaks.cursorNotClosed(SQLiteDatabase)", - "file": "codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetProtocolEquals(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "int CursorLeaks.getImageCountHelperNotClosed(String)", - "file": "codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetProtocolStartsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "int CursorLeaks.getBucketCountNotClosed()", - "file": "codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormCompareTo(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void CursorLeaks.queryUVMLegacyDbNotClosed()", - "file": "codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormEndsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "int CursorLeaks.completeDownloadNotClosed(DownloadManager)", - "file": "codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormEquals(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void CursorLeaks.loadPrefsFromContentProviderNotClosed()", - "file": "codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormStartsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringCompareTo(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringEndsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringEquals(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringStartsWith(String)", + "file": "codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "procedure": "void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.badCheckShouldCauseNPE()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead()", + "procedure": "void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead()", "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "procedure": "void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "procedure": "void ReaderLeaks.bufferedReaderNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void WriterLeaks.bufferedWriterNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite()", + "procedure": "void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite()", "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { @@ -185,274 +185,329 @@ "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "int CursorLeaks.completeDownloadNotClosed(DownloadManager)", + "file": "codetoanalyze/java/infer/CursorLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ResourceLeaks.contextObtainTypedArrayAndLeak(Context)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ResourceLeaks.copyFileLeak(File,File)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ResourceLeaks.copyFileLeak(File,File)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.cursorFromContentResolverNPE(String)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "int CursorLeaks.cursorNotClosed(SQLiteDatabase)", + "file": "codetoanalyze/java/infer/CursorLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int HashMapExample.getOneIntegerWithoutCheck()", - "file": "codetoanalyze/java/infer/HashMapExample.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer)", - "file": "codetoanalyze/java/infer/HashMapExample.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullPointerException()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullPointerExceptionInterProc()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)", + "procedure": "void NullPointerExceptions.derefNull()", "file": "codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()", + "procedure": "void NullPointerExceptions.derefNullableGetter()", "file": "codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "void Builtins.doNotBlockError(Object)", + "file": "codetoanalyze/java/infer/Builtins.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void CloseableAsResourceExample.failToCloseWithCloseQuietly()", + "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String NullPointerExceptions.hashmapNPE(HashMap,Object)", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative()", + "file": "codetoanalyze/java/infer/AnalysisStops.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int)", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative()", + "file": "codetoanalyze/java/infer/AnalysisStops.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[])", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ResourceLeaks.fileInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.cursorFromContentResolverNPE(String)", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ResourceLeaks.fileOutputStreamNotClosed()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ResourceLeaks.fileOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.sinkWithNeverNullSource()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.otherSinkWithNeverNullSource()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullableFieldNPE()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ReaderLeaks.fileReaderNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullableParamNPE(Object)", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void WriterLeaks.fileWriterNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/WriterLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.badCheckShouldCauseNPE()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionArrayLength()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "int CursorLeaks.getBucketCountNotClosed()", + "file": "codetoanalyze/java/infer/CursorLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "int CursorLeaks.getImageCountHelperNotClosed(String)", + "file": "codetoanalyze/java/infer/CursorLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.someNPEAfterResourceLeak()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "int HashMapExample.getOneIntegerWithoutCheck()", + "file": "codetoanalyze/java/infer/HashMapExample.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.derefNullableGetter()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer)", + "file": "codetoanalyze/java/infer/HashMapExample.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String NullPointerExceptions.testSystemGetPropertyArgument()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.testSystemGetPropertyReturn()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.derefNull()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.shouldNotReportNPE()", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullListFiles(String)", + "procedure": "String NullPointerExceptions.hashmapNPE(HashMap,Object)", "file": "codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String NullPointerExceptions.nullTryLock(FileChannel)", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String NullPointerExceptions.tryLockThrows(FileChannel)", - "file": "codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.readerNotClosedAfterRead()", + "procedure": "void ReaderLeaks.inputStreamReaderNotClosedAfterRead()", "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.bufferedReaderNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "boolean ResourceLeaks.jarFileNotClosed()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.inputStreamReaderNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void ResourceLeaks.jarInputStreamLeak()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.fileReaderNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void ResourceLeaks.jarOutputStreamLeak()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pushbackReaderNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void CursorLeaks.loadPrefsFromContentProviderNotClosed()", + "file": "codetoanalyze/java/infer/CursorLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter()", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void ResourceLeaks.nestedBad1()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter)", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void ResourceLeaks.nestedBad2()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pipedReaderFalsePositive()", - "file": "codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void ResourceLeaks.nestedBadJarInputStream(File)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.fileOutputStreamNotClosed()", + "procedure": "void ResourceLeaks.nestedBadJarOutputStream()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.fileOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void CloseableAsResourceExample.notClosingCloseable()", + "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void CloseableAsResourceExample.notClosingWrapper()", + "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void AutoGenerated.npe()", + "file": "codetoanalyze/java/infer/AutoGenerated.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "int NullPointerExceptions.nullListFiles(String)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "int NullPointerExceptions.nullPointerException()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.nullPointerExceptionArrayLength()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[])", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "int NullPointerExceptions.nullPointerExceptionInterProc()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.twoResources()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.twoResourcesServerSocket()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.twoResourcesRandomAccessFile()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String NullPointerExceptions.nullTryLock(FileChannel)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.nestedBad1()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullableFieldNPE()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.nestedBad2()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullableParamNPE(Object)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { "procedure": "void ResourceLeaks.objectInputStreamClosedNestedBad()", @@ -460,273 +515,218 @@ "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectOutputStreamClosedNestedBad()", + "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.zipFileLeakExceptionalBranch()", + "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "boolean ResourceLeaks.jarFileNotClosed()", + "procedure": "void ResourceLeaks.objectOutputStreamClosedNestedBad()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.fileInputStreamNotClosedAfterRead()", + "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream)", + "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite()", + "procedure": "void ResourceLeaks.openHttpURLConnectionNotDisconnected()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", + "procedure": "void ResourceLeaks.openHttpsURLConnectionNotDisconnected()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.otherSinkWithNeverNullSource()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void WriterLeaks.outputStreamWriterNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", + "procedure": "void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory)", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.jarInputStreamLeak()", + "procedure": "void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream)", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.nestedBadJarInputStream(File)", + "procedure": "void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.jarOutputStreamLeak()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void ReaderLeaks.pipedReaderFalsePositive()", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.nestedBadJarOutputStream()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter)", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.socketNotClosed()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter()", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.serverSocketNotClosed()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader)", + "file": "codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.openHttpURLConnectionNotDisconnected()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader()", + "file": "codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.openHttpsURLConnectionNotDisconnected()", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite()", + "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void WriterLeaks.printWriterNotClosedAfterAppend()", + "file": "codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String ResourceLeaks.readInstallationFileBad(File)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int ResourceLeaks.readConfigNotCloseStream(String)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void ReaderLeaks.pushbackReaderNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void CursorLeaks.queryUVMLegacyDbNotClosed()", + "file": "codetoanalyze/java/infer/CursorLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity)", + "procedure": "int ResourceLeaks.readConfigNotCloseStream(String)", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.contextObtainTypedArrayAndLeak(Context)", + "procedure": "String ResourceLeaks.readInstallationFileBad(File)", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.copyFileLeak(File,File)", - "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void ReaderLeaks.readerNotClosedAfterRead()", + "file": "codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.copyFileLeak(File,File)", + "procedure": "void ResourceLeaks.scannerNotClosed()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.scannerNotClosed()", + "procedure": "void ResourceLeaks.serverSocketNotClosed()", "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetHostEquals(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetHostCompareTo(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetHostEndsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetHostStartsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetAuthoriyEquals(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetAuthorityCompareTo(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetAuthorityEndsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetAuthorityStartsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetProtocolEquals(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetProtocolCompareTo(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetProtocolEndsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "String TaintExample.taintGetProtocolStartsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.shouldNotReportNPE()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToExternalFormEquals(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.sinkWithNeverNullSource()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToExternalFormCompareTo(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative()", + "file": "codetoanalyze/java/infer/AnalysisStops.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToExternalFormEndsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void ResourceLeaks.socketNotClosed()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintToExternalFormStartsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.someNPEAfterResourceLeak()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToStringEquals(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "T CloseableAsResourceExample.sourceOfNullWithResourceLeak()", + "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintToStringCompareTo(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "String NullPointerExceptions.testSystemGetPropertyArgument()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToStringEndsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.testSystemGetPropertyReturn()", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToStringStartsWith(String)", - "file": "codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme)", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.writerNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/WriterLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String NullPointerExceptions.tryLockThrows(FileChannel)", + "file": "codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void WriterLeaks.printWriterNotClosedAfterAppend()", - "file": "codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.twoResources()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.bufferedWriterNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.twoResourcesRandomAccessFile()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.outputStreamWriterNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.twoResourcesServerSocket()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.fileWriterNotClosedAfterWrite()", - "file": "codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void CloseableAsResourceExample.withException()", + "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader()", + "procedure": "void WriterLeaks.writerNotClosedAfterWrite()", "file": "codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader)", - "file": "codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.zipFileLeakExceptionalBranch()", + "file": "codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" } ] \ No newline at end of file diff --git a/infer/tests/buck_report.json b/infer/tests/buck_report.json index a42b6c002..ef546f5bb 100644 --- a/infer/tests/buck_report.json +++ b/infer/tests/buck_report.json @@ -1,732 +1,732 @@ [ { - "procedure": "String TaintExample.taintGetProtocolStartsWith(String)", + "procedure": "void ContextLeaks.directLeak()", + "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" + }, + { + "procedure": "void ContextLeaks.indirectHandlerLeak()", + "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" + }, + { + "procedure": "void ContextLeaks.indirectLeak()", + "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" + }, + { + "procedure": "void ContextLeaks.leakAfterInstanceFieldWrite()", + "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" + }, + { + "procedure": "void ContextLeaks.nonStaticInnerClassLeak()", + "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" + }, + { + "procedure": "ContextLeaks$Singleton ContextLeaks.singletonLeak()", + "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", + "bug_type": "CONTEXT_LEAK" + }, + { + "procedure": "String TaintExample.taintGetAuthorityCompareTo(String)", "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "String TaintExample.taintToStringEquals(String)", + "procedure": "String TaintExample.taintGetAuthorityEndsWith(String)", "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetAuthorityStartsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "String TaintExample.taintGetProtocolEndsWith(String)", + "procedure": "String TaintExample.taintGetAuthoriyEquals(String)", "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void WriterLeaks.fileWriterNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetHostCompareTo(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void CloseableAsResourceExample.failToCloseWithCloseQuietly()", - "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetHostEndsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void NullPointerExceptions.otherSinkWithNeverNullSource()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "String TaintExample.taintGetHostEquals(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void WriterLeaks.bufferedWriterNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetHostStartsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "String TaintExample.taintGetProtocolCompareTo(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetProtocolEndsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintGetProtocolEquals(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "String TaintExample.taintToExternalFormStartsWith(String)", + "procedure": "String TaintExample.taintGetProtocolStartsWith(String)", "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormCompareTo(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormEndsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToExternalFormEquals(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void NullPointerExceptions.derefNull()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "String TaintExample.taintToExternalFormStartsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringCompareTo(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringEndsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "String TaintExample.taintToStringStartsWith(String)", + "procedure": "String TaintExample.taintToStringEquals(String)", "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "T CloseableAsResourceExample.sourceOfNullWithResourceLeak()", - "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String TaintExample.taintToStringStartsWith(String)", + "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", + "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" }, { - "procedure": "void ResourceLeaks.twoResourcesRandomAccessFile()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int)", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "boolean ResourceLeaks.jarFileNotClosed()", + "procedure": "void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity)", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String NullPointerExceptions.testSystemGetPropertyArgument()", + "procedure": "void NullPointerExceptions.badCheckShouldCauseNPE()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.copyFileLeak(File,File)", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.fileReaderNotClosedAfterRead()", + "procedure": "void ReaderLeaks.bufferedReaderNotClosedAfterRead()", "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.printWriterNotClosedAfterAppend()", + "procedure": "void WriterLeaks.bufferedWriterNotClosedAfterWrite()", "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.readerNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.inputStreamReaderNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pipedReaderFalsePositive()", - "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ContextLeaks.leakAfterInstanceFieldWrite()", - "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "int CursorLeaks.completeDownloadNotClosed(DownloadManager)", + "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String ResourceLeaks.readInstallationFileBad(File)", + "procedure": "void ResourceLeaks.contextObtainTypedArrayAndLeak(Context)", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ResourceLeaks.copyFileLeak(File,File)", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer)", - "file": "infer/tests/codetoanalyze/java/infer/HashMapExample.java", + "procedure": "void ResourceLeaks.copyFileLeak(File,File)", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" + }, + { + "procedure": "void NullPointerExceptions.cursorFromContentResolverNPE(String)", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, + { + "procedure": "int CursorLeaks.cursorNotClosed(SQLiteDatabase)", + "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "bug_type": "RESOURCE_LEAK" + }, { "procedure": "void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead()", "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.fileOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.nestedBad1()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.fileInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.openHttpURLConnectionNotDisconnected()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void NullPointerExceptions.derefNull()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void NullPointerExceptions.derefNullableGetter()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.zipFileLeakExceptionalBranch()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void Builtins.doNotBlockError(Object)", + "file": "infer/tests/codetoanalyze/java/infer/Builtins.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void CloseableAsResourceExample.failToCloseWithCloseQuietly()", + "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void AutoGenerated.npe()", - "file": "infer/tests/codetoanalyze/java/infer/AutoGenerated.java", + "procedure": "void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative()", + "file": "infer/tests/codetoanalyze/java/infer/AnalysisStops.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.serverSocketNotClosed()", + "procedure": "void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative()", + "file": "infer/tests/codetoanalyze/java/infer/AnalysisStops.java", + "bug_type": "NULL_DEREFERENCE" + }, + { + "procedure": "void ResourceLeaks.fileInputStreamNotClosedAfterRead()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int CursorLeaks.completeDownloadNotClosed(DownloadManager)", - "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "procedure": "void ResourceLeaks.fileOutputStreamNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.twoResourcesServerSocket()", + "procedure": "void ResourceLeaks.fileOutputStreamNotClosedAfterWrite()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", + "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.nestedBadJarInputStream(File)", + "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullPointerException()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ReaderLeaks.fileReaderNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.twoResources()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void WriterLeaks.fileWriterNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.scannerNotClosed()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.contextObtainTypedArrayAndLeak(Context)", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "int CursorLeaks.getBucketCountNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative()", - "file": "infer/tests/codetoanalyze/java/infer/AnalysisStops.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "int CursorLeaks.getImageCountHelperNotClosed(String)", + "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionArrayLength()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "int HashMapExample.getOneIntegerWithoutCheck()", + "file": "infer/tests/codetoanalyze/java/infer/HashMapExample.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "procedure": "void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer)", + "file": "infer/tests/codetoanalyze/java/infer/HashMapExample.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintGetHostEndsWith(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.socketNotClosed()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetAuthorityEndsWith(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()", + "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream)", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String NullPointerExceptions.hashmapNPE(HashMap,Object)", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.jarOutputStreamLeak()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "procedure": "void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite()", + "procedure": "void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite()", "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter)", + "procedure": "void ReaderLeaks.inputStreamReaderNotClosedAfterRead()", "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintToStringCompareTo(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "boolean ResourceLeaks.jarFileNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.fileOutputStreamNotClosed()", + "procedure": "void ResourceLeaks.jarInputStreamLeak()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int ResourceLeaks.readConfigNotCloseStream(String)", + "procedure": "void ResourceLeaks.jarOutputStreamLeak()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void CursorLeaks.loadPrefsFromContentProviderNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.nullPointerExceptionInterProc()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "boolean DotFilesEqual.matches(Object)", + "file": "infer/tests/utils/matchers/DotFilesEqual.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullableFieldNPE()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ResourceLeaks.nestedBad1()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader()", - "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.nestedBad2()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetHostEquals(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void ResourceLeaks.nestedBadJarInputStream(File)", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "procedure": "void ResourceLeaks.nestedBadJarOutputStream()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetHostCompareTo(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void CloseableAsResourceExample.notClosingCloseable()", + "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void CloseableAsResourceExample.notClosingWrapper()", + "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int CursorLeaks.getBucketCountNotClosed()", - "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void AutoGenerated.npe()", + "file": "infer/tests/codetoanalyze/java/infer/AutoGenerated.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()", + "procedure": "void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ReaderLeaks.bufferedReaderNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "int NullPointerExceptions.nullListFiles(String)", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.cursorFromContentResolverNPE(String)", + "procedure": "int NullPointerExceptions.nullPointerException()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintToExternalFormCompareTo(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.nullPointerExceptionArrayLength()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.testSystemGetPropertyReturn()", + "procedure": "void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintGetProtocolCompareTo(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[])", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[])", + "procedure": "int NullPointerExceptions.nullPointerExceptionInterProc()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintGetHostStartsWith(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme)", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "String TaintExample.taintGetProtocolEquals(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "int CursorLeaks.getImageCountHelperNotClosed(String)", - "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String NullPointerExceptions.nullTryLock(FileChannel)", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory)", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void NullPointerExceptions.nullableFieldNPE()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.derefNullableGetter()", + "procedure": "void NullPointerExceptions.nullableParamNPE(Object)", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ResourceLeaks.objectOutputStreamClosedNestedBad()", + "procedure": "void ResourceLeaks.objectInputStreamClosedNestedBad()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity)", + "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintToExternalFormEquals(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetAuthorityStartsWith(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void ResourceLeaks.objectOutputStreamClosedNestedBad()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pushbackReaderNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void CloseableAsResourceExample.notClosingWrapper()", - "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", + "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.objectInputStreamClosedNestedBad()", + "procedure": "void ResourceLeaks.openHttpURLConnectionNotDisconnected()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.nestedBad2()", + "procedure": "void ResourceLeaks.openHttpsURLConnectionNotDisconnected()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String NullPointerExceptions.hashmapNPE(HashMap,Object)", + "procedure": "void NullPointerExceptions.otherSinkWithNeverNullSource()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void WriterLeaks.outputStreamWriterNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.sinkWithNeverNullSource()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory)", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream)", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.openHttpsURLConnectionNotDisconnected()", + "procedure": "void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ReaderLeaks.pipedReaderFalsePositive()", + "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ContextLeaks.indirectHandlerLeak()", - "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter)", + "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void CursorLeaks.queryUVMLegacyDbNotClosed()", - "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter()", + "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int CursorLeaks.cursorNotClosed(SQLiteDatabase)", - "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", + "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader)", + "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.outputStreamWriterNotClosedAfterWrite()", + "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader()", "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite()", + "procedure": "void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite()", "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullableParamNPE(Object)", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" - }, - { - "procedure": "int NullPointerExceptions.nullListFiles(String)", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" - }, - { - "procedure": "String NullPointerExceptions.nullTryLock(FileChannel)", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void WriterLeaks.printWriterNotClosedAfterAppend()", + "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ContextLeaks.directLeak()", - "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative()", - "file": "infer/tests/codetoanalyze/java/infer/AnalysisStops.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ReaderLeaks.pushbackReaderNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void CursorLeaks.loadPrefsFromContentProviderNotClosed()", + "procedure": "void CursorLeaks.queryUVMLegacyDbNotClosed()", "file": "infer/tests/codetoanalyze/java/infer/CursorLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void Builtins.doNotBlockError(Object)", - "file": "infer/tests/codetoanalyze/java/infer/Builtins.java", - "bug_type": "NULL_DEREFERENCE" - }, - { - "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", + "procedure": "int ResourceLeaks.readConfigNotCloseStream(String)", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ContextLeaks.nonStaticInnerClassLeak()", - "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" - }, - { - "procedure": "boolean DotFilesEqual.matches(Object)", - "file": "infer/tests/utils/matchers/DotFilesEqual.java", - "bug_type": "RESOURCE_LEAK" - }, - { - "procedure": "int HashMapExample.getOneIntegerWithoutCheck()", - "file": "infer/tests/codetoanalyze/java/infer/HashMapExample.java", - "bug_type": "NULL_DEREFERENCE" - }, - { - "procedure": "void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative()", - "file": "infer/tests/codetoanalyze/java/infer/AnalysisStops.java", - "bug_type": "NULL_DEREFERENCE" - }, - { - "procedure": "void NullPointerExceptions.badCheckShouldCauseNPE()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" - }, - { - "procedure": "String TaintExample.taintToExternalFormEndsWith(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" - }, - { - "procedure": "void ResourceLeaks.nestedBadJarOutputStream()", + "procedure": "String ResourceLeaks.readInstallationFileBad(File)", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/FilterOutputStreamLeaks.java", + "procedure": "void ReaderLeaks.readerNotClosedAfterRead()", + "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.writerNotClosedAfterWrite()", - "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.scannerNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader)", - "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", + "procedure": "void ResourceLeaks.serverSocketNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int)", + "procedure": "void NullPointerExceptions.sinkWithNeverNullSource()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void CloseableAsResourceExample.withException()", - "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative()", + "file": "infer/tests/codetoanalyze/java/infer/AnalysisStops.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead()", - "file": "infer/tests/codetoanalyze/java/infer/FilterInputStreamLeaks.java", + "procedure": "void ResourceLeaks.socketNotClosed()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()", + "procedure": "void NullPointerExceptions.someNPEAfterResourceLeak()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void ContextLeaks.indirectLeak()", - "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" - }, - { - "procedure": "void CloseableAsResourceExample.notClosingCloseable()", + "procedure": "T CloseableAsResourceExample.sourceOfNullWithResourceLeak()", "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter()", - "file": "infer/tests/codetoanalyze/java/infer/ReaderLeaks.java", - "bug_type": "RESOURCE_LEAK" - }, - { - "procedure": "void ResourceLeaks.copyFileLeak(File,File)", - "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", - "bug_type": "RESOURCE_LEAK" + "procedure": "String NullPointerExceptions.testSystemGetPropertyArgument()", + "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", + "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()", + "procedure": "void NullPointerExceptions.testSystemGetPropertyReturn()", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "ContextLeaks$Singleton ContextLeaks.singletonLeak()", - "file": "infer/tests/codetoanalyze/java/infer/ContextLeaks.java", - "bug_type": "CONTEXT_LEAK" + "procedure": "void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme)", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void NullPointerExceptions.someNPEAfterResourceLeak()", + "procedure": "String NullPointerExceptions.tryLockThrows(FileChannel)", "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", "bug_type": "NULL_DEREFERENCE" }, { - "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" + "procedure": "void ResourceLeaks.twoResources()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintToStringEndsWith(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void ResourceLeaks.twoResourcesRandomAccessFile()", + "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks(boolean)", + "procedure": "void ResourceLeaks.twoResourcesServerSocket()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetAuthoriyEquals(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void CloseableAsResourceExample.withException()", + "file": "infer/tests/codetoanalyze/java/infer/CloseableAsResourceExample.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "String TaintExample.taintGetAuthorityCompareTo(String)", - "file": "infer/tests/codetoanalyze/java/infer/TaintExample.java", - "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION" + "procedure": "void WriterLeaks.writerNotClosedAfterWrite()", + "file": "infer/tests/codetoanalyze/java/infer/WriterLeaks.java", + "bug_type": "RESOURCE_LEAK" }, { - "procedure": "void ResourceLeaks.jarInputStreamLeak()", + "procedure": "void ResourceLeaks.zipFileLeakExceptionalBranch()", "file": "infer/tests/codetoanalyze/java/infer/ResourceLeaks.java", "bug_type": "RESOURCE_LEAK" - }, - { - "procedure": "String NullPointerExceptions.tryLockThrows(FileChannel)", - "file": "infer/tests/codetoanalyze/java/infer/NullPointerExceptions.java", - "bug_type": "NULL_DEREFERENCE" } ] \ No newline at end of file diff --git a/scripts/build_integration_tests.py b/scripts/build_integration_tests.py index c9bdbc93e..266a1f36e 100755 --- a/scripts/build_integration_tests.py +++ b/scripts/build_integration_tests.py @@ -64,7 +64,7 @@ def load_report(filename): def save_report(reports, filename): with open(filename, 'w') as file_out: filtered = [] - for report in reports: + for report in sorted(reports): r = {} for key in REPORT_FIELDS: if key in report: