From 12e37c97fc4f71d73451ef9018f5f909a8b66e86 Mon Sep 17 00:00:00 2001 From: jrm Date: Tue, 17 Nov 2015 13:19:35 -0800 Subject: [PATCH] sort the list of bugs in order to preserve the position of the entries in the JSON file Summary: public The main objective here is to reduce the list of changes as much as possible to that the change set in the JSON base case only relates to the changes in Infer Reviewed By: sblackshear Differential Revision: D2661085 fb-gh-sync-id: 113a695 --- infer/tests/ant_report.json | 736 ++++++++++++++--------------- infer/tests/buck_report.json | 680 +++++++++++++------------- scripts/build_integration_tests.py | 2 +- 3 files changed, 709 insertions(+), 709 deletions(-) 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: