From d74f189dfef5b6842e02ea4272cd07e9967d9fac Mon Sep 17 00:00:00 2001 From: Jeremy Dubreil Date: Fri, 9 Mar 2018 14:22:15 -0800 Subject: [PATCH] [infer] add the report kind to the list of expected output Reviewed By: dulmarod Differential Revision: D7209545 fbshipit-source-id: aab32f3 --- infer/src/base/Config.ml | 1 + infer/tests/build_systems/ant/issues.exp | 402 ++++----- infer/tests/build_systems/assembly/issues.exp | 2 +- .../build_systems/buck-clang-db/issues.exp | 10 +- infer/tests/build_systems/buck/issues.exp | 22 +- .../build_systems/buck_flavors/issues.exp | 10 +- .../build_systems/buck_flavors_run/issues.exp | 4 +- .../build_systems/ck_analytics/issues.exp | 54 +- .../tests/build_systems/ck_imports/issues.exp | 2 +- .../clang_compilation_db/issues.exp | 22 +- .../clang_compilation_db_escaped/issues.exp | 2 +- .../clang_compilation_db_relpath/issues.exp | 10 +- .../clang_multiple_files/issues.exp | 4 +- .../clang_unknown_ext/issues.exp | 2 +- .../clang_with_MD_flag/issues.exp | 2 +- .../clang_with_blacklisted_flags/issues.exp | 2 +- infer/tests/build_systems/cmake/issues.exp | 2 +- .../deduplicate_template_warnings/issues.exp | 2 +- .../delete_results_dir/issues.exp | 2 +- infer/tests/build_systems/diff/fixed.exp | 2 +- infer/tests/build_systems/diff/introduced.exp | 2 +- .../tests/build_systems/diff/preexisting.exp | 2 +- .../diff_gen_build_script/fixed.exp | 2 +- .../diff_gen_build_script/introduced.exp | 2 +- .../diff_gen_build_script/preexisting.exp | 2 +- infer/tests/build_systems/genrule/issues.exp | 16 +- infer/tests/build_systems/gradle/issues.exp | 6 +- .../build_systems/inferconfig/issues.exp | 6 +- infer/tests/build_systems/javac/issues.exp | 2 +- infer/tests/build_systems/linters/issues.exp | 2 +- infer/tests/build_systems/make/issues.exp | 8 +- infer/tests/build_systems/mvn/issues.exp | 30 +- .../tests/build_systems/ndk_build/issues.exp | 2 +- .../objc_getters_setters/issues.exp | 10 +- .../build_systems/project_root_rel/issues.exp | 2 +- infer/tests/build_systems/reactive/issues.exp | 6 +- infer/tests/build_systems/uninit/issues.exp | 14 +- .../build_systems/utf8_in_procname/issues.exp | 2 +- .../build_systems/utf8_in_pwd/issues.exp | 18 +- infer/tests/build_systems/waf/issues.exp | 8 +- .../xcodebuild_no_xcpretty/issues.exp | 2 +- .../codetoanalyze/c/biabduction/issues.exp | 16 +- .../codetoanalyze/c/bufferoverrun/issues.exp | 188 ++--- .../cpp/bufferoverrun/issues.exp | 86 +- .../codetoanalyze/cpp/conflicts/issues.exp | 6 +- .../tests/codetoanalyze/cpp/errors/issues.exp | 766 +++++++++--------- .../codetoanalyze/cpp/liveness/issues.exp | 32 +- .../codetoanalyze/cpp/nullable/issues.exp | 94 +-- .../codetoanalyze/cpp/quandary/issues.exp | 290 +++---- .../tests/codetoanalyze/cpp/racerd/issues.exp | 52 +- infer/tests/codetoanalyze/cpp/siof/issues.exp | 34 +- .../tests/codetoanalyze/cpp/uninit/issues.exp | 26 +- .../codetoanalyze/java/checkers/issues.exp | 112 +-- .../codetoanalyze/java/eradicate/issues.exp | 156 ++-- .../tests/codetoanalyze/java/infer/issues.exp | 420 +++++----- infer/tests/codetoanalyze/java/lab/issues.exp | 6 +- .../codetoanalyze/java/quandary/issues.exp | 478 +++++------ .../codetoanalyze/java/racerd/issues.exp | 256 +++--- .../codetoanalyze/java/stability/issues.exp | 10 +- .../codetoanalyze/java/tracing/issues.exp | 112 +-- .../codetoanalyze/objc/errors/issues.exp | 204 ++--- .../codetoanalyze/objc/ioslints/issues.exp | 22 +- .../objc/linters-def-folder/issues.exp | 8 +- .../objc/linters-for-test-only/issues.exp | 212 ++--- .../codetoanalyze/objc/linters/issues.exp | 106 +-- .../codetoanalyze/objc/nullable/issues.exp | 50 +- .../codetoanalyze/objc/uninit/issues.exp | 8 +- .../objcpp/linters-for-test-only/issues.exp | 58 +- .../codetoanalyze/objcpp/linters/issues.exp | 64 +- 69 files changed, 2288 insertions(+), 2287 deletions(-) diff --git a/infer/src/base/Config.ml b/infer/src/base/Config.ml index bcf57ce1b..af639b8ef 100644 --- a/infer/src/base/Config.ml +++ b/infer/src/base/Config.ml @@ -1421,6 +1421,7 @@ and issues_fields = ; `Issue_field_procedure ; `Issue_field_line_offset ; `Issue_field_bug_type + ; `Issue_field_kind ; `Issue_field_bug_trace ] ~symbols:issues_fields_symbols ~eq:PVariant.( = ) "Fields to emit with $(b,--issues-tests)" diff --git a/infer/tests/build_systems/ant/issues.exp b/infer/tests/build_systems/ant/issues.exp index 3e356b5c5..0febb1acc 100644 --- a/infer/tests/build_systems/ant/issues.exp +++ b/infer/tests/build_systems/ant/issues.exp @@ -1,201 +1,201 @@ -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative(), 5, NULL_DEREFERENCE, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Taking false branch] -codetoanalyze/java/infer/AutoGenerated.java, void AutoGenerated.npe(), 2, NULL_DEREFERENCE, [start of procedure npe()] -codetoanalyze/java/infer/Builtins.java, void Builtins.doNotBlockError(Object), 3, NULL_DEREFERENCE, [start of procedure doNotBlockError(...),Taking true branch] -codetoanalyze/java/infer/CloseableAsResourceExample.java, T CloseableAsResourceExample.sourceOfNullWithResourceLeak(), 1, RESOURCE_LEAK, [start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.failToCloseWithCloseQuietly(), 5, RESOURCE_LEAK, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.leakFoundWhenIndirectlyImplementingCloseable(), 1, RESOURCE_LEAK, [start of procedure leakFoundWhenIndirectlyImplementingCloseable(),start of procedure CloseableAsResourceExample$MyResource(...),return from a call to CloseableAsResourceExample$MyResource.(CloseableAsResourceExample)] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClearinglocalMapContainingResourcesBad(), 4, RESOURCE_LEAK, [start of procedure notClearinglocalMapContainingResourcesBad(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingCloseable(), 1, RESOURCE_LEAK, [start of procedure notClosingCloseable(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingWrapper(), 2, RESOURCE_LEAK, [start of procedure notClosingWrapper(),start of procedure Resource(),return from a call to Resource.(),start of procedure Sub(...),start of procedure Wrapper(...),return from a call to Wrapper.(Resource),return from a call to Sub.(Resource),start of procedure close(),return from a call to void Resource.close()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.skippedVritualCallDoesNotCloseResourceOnReceiver(), 2, RESOURCE_LEAK, [start of procedure skippedVritualCallDoesNotCloseResourceOnReceiver(),start of procedure SomeResource(),return from a call to SomeResource.(),Skipping foo(...): method has no implementation,Definition of foo(...)] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.withException(), 4, RESOURCE_LEAK, [start of procedure withException(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] -codetoanalyze/java/infer/CursorLeaks.java, Object CursorLeaks.cursorClosedCheckNullCheckClosed_FP(SQLiteDatabase), 13, RESOURCE_LEAK, [start of procedure cursorClosedCheckNullCheckClosed_FP(...),Taking false branch,Skipping getString(...): unknown method,Taking true branch,Taking false branch] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.completeDownloadNotClosed(DownloadManager), 8, RESOURCE_LEAK, [start of procedure completeDownloadNotClosed(...),Taking false branch,Skipping getColumnIndex(...): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.cursorNotClosed(SQLiteDatabase), 4, RESOURCE_LEAK, [start of procedure cursorNotClosed(...),Skipping getCount(): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getBucketCountNotClosed(), 10, RESOURCE_LEAK, [start of procedure getBucketCountNotClosed(),Taking false branch,Taking false branch] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getImageCountHelperNotClosed(String), 13, RESOURCE_LEAK, [start of procedure getImageCountHelperNotClosed(...),Taking true branch,Skipping getInt(...): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.loadPrefsFromContentProviderNotClosed(), 11, RESOURCE_LEAK, [start of procedure loadPrefsFromContentProviderNotClosed(),Taking false branch,Taking true branch] -codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.queryUVMLegacyDbNotClosed(), 4, RESOURCE_LEAK, [start of procedure queryUVMLegacyDbNotClosed(),Skipping setTables(...): unknown method,Taking true branch] -codetoanalyze/java/infer/CursorNPEs.java, int CursorNPEs.cursorFromDownloadManagerNPE(DownloadManager), 5, NULL_DEREFERENCE, [start of procedure cursorFromDownloadManagerNPE(...)] -codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromContentResolverNPE(String), 12, NULL_DEREFERENCE, [start of procedure cursorFromContentResolverNPE(...)] -codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromMediaNPE(), 3, NULL_DEREFERENCE, [start of procedure cursorFromMediaNPE()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch$WithField.dispatchOnFieldBad(), 3, NULL_DEREFERENCE, [start of procedure dispatchOnFieldBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure DynamicDispatch$WithField(...),return from a call to DynamicDispatch$WithField.(DynamicDispatch$Subtype),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSubtypeBad(), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchCallsWrapperWithSubtypeBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure dynamicDispatchWrapperFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperFoo(DynamicDispatch$Subtype)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSupertypeBad(), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchCallsWrapperWithSupertypeBad(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),start of procedure dynamicDispatchWrapperBar(...),start of procedure bar(),return from a call to Object DynamicDispatch$Supertype.bar(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperBar(DynamicDispatch$Supertype)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotReportWhenCallingSupertype(DynamicDispatch$Subtype), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchShouldNotReportWhenCallingSupertype(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicResolutionWithPrivateMethodBad(), 2, NULL_DEREFERENCE, [start of procedure dynamicResolutionWithPrivateMethodBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure callFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.callFoo(DynamicDispatch$Subtype)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, [start of procedure interfaceShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Impl(),return from a call to DynamicDispatch$Impl.(),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Impl), 1, NULL_DEREFERENCE, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure bufferedInputStreamNotClosedAfterRead(),Skipping BufferedInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure checkedInputStreamNotClosedAfterRead(),Skipping CheckedInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip(), 7, RESOURCE_LEAK, [start of procedure cipherInputStreamNotClosedAfterSkip(),Skipping CipherInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, [start of procedure dataInputStreamNotClosedAfterRead(),Skipping DataInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure deflaterInputStreamNotClosedAfterRead(),Skipping DeflaterInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, [start of procedure digestInputStreamNotClosedAfterRead(),Skipping DigestInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 4, RESOURCE_LEAK, [start of procedure gzipInputStreamNotClosedAfterRead()] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure gzipInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure inflaterInputStreamNotClosedAfterRead(),Skipping InflaterInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure pushbackInputStreamNotClosedAfterRead(),Skipping PushbackInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure bufferedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure checkedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure cipherOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure dataOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure deflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure digestOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure filterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 4, RESOURCE_LEAK, [start of procedure gzipOutputStreamNotClosedAfterFlush()] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 7, RESOURCE_LEAK, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure printStreamNotClosedAfterWrite()] -codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.g`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.g`] -codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, UNSAFE_GUARDED_BY_ACCESS, [start of procedure byRefTrickyBad()] -codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$3.readFromInnerClassBad1(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFromInnerClassBad1()] -codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$4.readFromInnerClassBad2(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFromInnerClassBad2()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.xForSub`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.xForSub`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure badSub()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure badGuardedByNormalLock()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure badGuardedByReentrantLock()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure guardedByTypeSyntaxBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure guardedByTypeSyntaxBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFAfterBlockBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFBadWrongAnnotation()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFBadWrongLock()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkMethodAnnotated(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkSynchronized(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readGFromCopyOk(), 5, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBad(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readHBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBadSynchronizedMethodShouldntHelp(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readHBadSynchronizedMethodShouldntHelp()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.reassignCopyOk(), 4, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure synchronizedMethodReadBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodWriteBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure synchronizedMethodWriteBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&#GB<>$codetoanalyze.java.infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`,,access to `&#GB<>$codetoanalyze.java.infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure synchronizedOnThisBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, [start of procedure writeFAfterBlockBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure writeFBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure writeFBadWrongLock()] -codetoanalyze/java/infer/HashMapExample.java, int HashMapExample.getOneIntegerWithoutCheck(), 6, NULL_DEREFERENCE, [start of procedure getOneIntegerWithoutCheck()] -codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterClearBad(), 5, NULL_DEREFERENCE, [start of procedure getAfterClearBad()] -codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterRemovingTheKeyBad(), 5, NULL_DEREFERENCE, [start of procedure getAfterRemovingTheKeyBad()] -codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer), 11, NULL_DEREFERENCE, [start of procedure getTwoIntegersWithOneCheck(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/IntegerExample.java, void IntegerExample.testIntegerEqualsBad(), 6, NULL_DEREFERENCE, [start of procedure testIntegerEqualsBad(),Taking true branch] -codetoanalyze/java/infer/InvokeDynamic.java, int InvokeDynamic.lambda$npeInLambdaBad$1(String,String), 1, NULL_DEREFERENCE, [start of procedure lambda$npeInLambdaBad$1(...)] -codetoanalyze/java/infer/InvokeDynamic.java, void InvokeDynamic.invokeDynamicThenNpeBad(List), 5, NULL_DEREFERENCE, [start of procedure invokeDynamicThenNpeBad(...),Skipping sort(...): unknown method] -codetoanalyze/java/infer/Lists.java, void Lists.clearCausesEmptinessNPE(List,int), 5, NULL_DEREFERENCE, [start of procedure clearCausesEmptinessNPE(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/Lists.java, void Lists.getElementNPE(List), 4, NULL_DEREFERENCE, [start of procedure getElementNPE(...),Taking false branch,start of procedure getElement(...),Taking true branch,return from a call to Object Lists.getElement(List)] -codetoanalyze/java/infer/Lists.java, void Lists.removeInvalidatesNonEmptinessNPE(List,int), 5, NULL_DEREFERENCE, [start of procedure removeInvalidatesNonEmptinessNPE(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.hashmapNPE(HashMap,Object), 1, NULL_DEREFERENCE, [start of procedure hashmapNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.nullTryLock(FileChannel), 2, NULL_DEREFERENCE, [start of procedure nullTryLock(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyArgument()] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.tryLockThrows(FileChannel), 6, NULL_DEREFERENCE, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int), 1, NULL_DEREFERENCE, [start of procedure NPEvalueOfFromHashmapBad(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, NULL_DEREFERENCE, [start of procedure nullListFiles(...),Skipping File(...): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, NULL_DEREFERENCE, [start of procedure nullPointerException()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 2, NULL_DEREFERENCE, [start of procedure npeWithDollars()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$E.dereferenceNullableInterfaceFieldBad(), 1, NULL_DEREFERENCE, [start of procedure dereferenceNullableInterfaceFieldBad()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 2, NULL_DEREFERENCE, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 1, NULL_DEREFERENCE, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking false branch,return from a call to Object NullPointerExceptions.getObj()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.cursorFromContentResolverNPE(String), 9, NULL_DEREFERENCE, [start of procedure cursorFromContentResolverNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad(), 1, NULL_DEREFERENCE, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 2, NULL_DEREFERENCE, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),return from a call to Object NullPointerExceptions.retUndefined(),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableGetter(), 2, NULL_DEREFERENCE, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableRet(boolean), 2, NULL_DEREFERENCE, [start of procedure derefNullableRet(...),start of procedure nullableRet(...),Taking true branch,return from a call to Object NullPointerExceptions.nullableRet(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRet(), 2, NULL_DEREFERENCE, [start of procedure derefUndefNullableRet(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 1, NULL_DEREFERENCE, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 2, NULL_DEREFERENCE, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking true branch,Taking true branch,Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 4, NULL_DEREFERENCE, [start of procedure dereferenceAfterUnlock1(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 6, NULL_DEREFERENCE, [start of procedure dereferenceAfterUnlock2(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullDerefernceReturnOfSkippedFunctionBad(), 3, NULL_DEREFERENCE, [start of procedure nullDerefernceReturnOfSkippedFunctionBad(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionArrayLength()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 7, NULL_DEREFERENCE, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 6, NULL_DEREFERENCE, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]), 3, NULL_DEREFERENCE, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 4, NULL_DEREFERENCE, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 1, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),Skipping clone(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 1, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableFieldNPE(), 1, NULL_DEREFERENCE, [start of procedure nullableFieldNPE()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableParamNPE(Object), 1, NULL_DEREFERENCE, [start of procedure nullableParamNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.optionalNPE(Optional), 1, NULL_DEREFERENCE, [start of procedure optionalNPE(...),Skipping orNull(): abstract method,Definition of orNull()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.otherSinkWithNeverNullSource(), 3, NULL_DEREFERENCE, [start of procedure otherSinkWithNeverNullSource(),start of procedure SomeLibrary(),return from a call to SomeLibrary.(),start of procedure get(),Taking true branch,return from a call to T SomeLibrary.get()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.sinkWithNeverNullSource(), 3, NULL_DEREFERENCE, [start of procedure sinkWithNeverNullSource(),start of procedure NeverNullSource(),return from a call to NeverNullSource.(),start of procedure get(),Taking true branch,return from a call to T NeverNullSource.get()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 2, NULL_DEREFERENCE, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 10, NULL_DEREFERENCE, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking false branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringVarEqualsFalseNPE(), 5, NULL_DEREFERENCE, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Skipping toString(): unknown method,Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 2, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyReturn()] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.bufferedReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure bufferedReaderNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.fileReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure fileReaderNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.inputStreamReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure inputStreamReaderNotClosedAfterRead(),Skipping InputStreamReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderFalsePositive(), 5, RESOURCE_LEAK, [start of procedure pipedReaderFalsePositive()] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter), 7, RESOURCE_LEAK, [start of procedure pipedReaderNotClosedAfterConnect(...),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter(), 8, RESOURCE_LEAK, [start of procedure pipedReaderNotClosedAfterConstructedWithWriter(),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pushbackReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure pushbackReaderNotClosedAfterRead(),Skipping PushbackReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.readerNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure readerNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, String ResourceLeaks.readInstallationFileBad(File), 6, RESOURCE_LEAK, [start of procedure readInstallationFileBad(...),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, boolean ResourceLeaks.jarFileNotClosed(), 3, RESOURCE_LEAK, [start of procedure jarFileNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 3, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks1(...),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 6, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks1(...),Taking false branch] -codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.readConfigNotCloseStream(String), 5, RESOURCE_LEAK, [start of procedure readConfigNotCloseStream(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity), 2, RESOURCE_LEAK, [start of procedure activityObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.contextObtainTypedArrayAndLeak(Context), 2, RESOURCE_LEAK, [start of procedure contextObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, [start of procedure copyFileLeak(...),Skipping transferTo(...): unknown method,Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, [start of procedure copyFileLeak(...),exception java.io.FileNotFoundException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.deflaterLeak(), 1, RESOURCE_LEAK, [start of procedure deflaterLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure fileInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosed(), 1, RESOURCE_LEAK, [start of procedure fileOutputStreamNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure fileOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamOneLeak(), 2, RESOURCE_LEAK, [start of procedure fileOutputStreamOneLeak(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 2, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 5, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.inflaterLeak(), 1, RESOURCE_LEAK, [start of procedure inflaterLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarInputStreamLeak(), 3, RESOURCE_LEAK, [start of procedure jarInputStreamLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarOutputStreamLeak(), 3, RESOURCE_LEAK, [start of procedure jarOutputStreamLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad1(), 1, RESOURCE_LEAK, [start of procedure nestedBad1()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad2(), 1, RESOURCE_LEAK, [start of procedure nestedBad2()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarInputStream(File), 1, RESOURCE_LEAK, [start of procedure nestedBadJarInputStream(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarOutputStream(), 1, RESOURCE_LEAK, [start of procedure nestedBadJarOutputStream()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamClosedNestedBad(), 3, RESOURCE_LEAK, [start of procedure objectInputStreamClosedNestedBad()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 3, RESOURCE_LEAK, [start of procedure objectInputStreamNotClosedAfterRead()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure objectInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamClosedNestedBad(), 3, RESOURCE_LEAK, [start of procedure objectOutputStreamClosedNestedBad()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 4, RESOURCE_LEAK, [start of procedure objectOutputStreamNotClosedAfterWrite()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure objectOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpURLConnectionNotDisconnected(), 7, RESOURCE_LEAK, [start of procedure openHttpURLConnectionNotDisconnected()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpsURLConnectionNotDisconnected(), 3, RESOURCE_LEAK, [start of procedure openHttpsURLConnectionNotDisconnected()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory), 5, RESOURCE_LEAK, [start of procedure parseFromInputStreamAndLeak(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromStringAndNotClose(JsonFactory), 4, RESOURCE_LEAK, [start of procedure parseFromStringAndNotClose(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream), 6, RESOURCE_LEAK, [start of procedure pipedInputStreamNotClosedAfterRead(...),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure pipedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.scannerNotClosed(), 1, RESOURCE_LEAK, [start of procedure scannerNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.serverSocketNotClosed(), 12, RESOURCE_LEAK, [start of procedure serverSocketNotClosed(),Skipping ServerSocket(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.socketNotClosed(), 1, RESOURCE_LEAK, [start of procedure socketNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme), 2, RESOURCE_LEAK, [start of procedure themeObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResourcesRandomAccessFile(), 10, RESOURCE_LEAK, [start of procedure twoResourcesRandomAccessFile(),Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.zipFileLeakExceptionalBranch(), 5, RESOURCE_LEAK, [start of procedure zipFileLeakExceptionalBranch(),exception java.io.IOException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportNPE(), 2, NULL_DEREFERENCE, [start of procedure shouldNotReportNPE()] -codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportResourceLeak(), 2, RESOURCE_LEAK, [start of procedure shouldNotReportResourceLeak()] -codetoanalyze/java/infer/SuppressLintExample.java, void SuppressLintExample.shouldReportNPE(), 2, NULL_DEREFERENCE, [start of procedure shouldReportNPE()] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.bufferedWriterNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure bufferedWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,Skipping BufferedWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.fileWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure fileWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.outputStreamWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure outputStreamWriterNotClosedAfterWrite(),Skipping OutputStreamWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader), 7, RESOURCE_LEAK, [start of procedure pipedWriterNotClosedAfterConnect(...),exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader(), 8, RESOURCE_LEAK, [start of procedure pipedWriterNotClosedAfterConstructedWithReader(),exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.printWriterNotClosedAfterAppend(), 4, RESOURCE_LEAK, [start of procedure printWriterNotClosedAfterAppend(),Skipping PrintWriter(...): unknown method] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.writerNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure writerNotClosedAfterWrite(),Skipping PrintWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, ERROR, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(), 3, NULL_DEREFERENCE, ERROR, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative(), 5, NULL_DEREFERENCE, ERROR, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Taking false branch] +codetoanalyze/java/infer/AutoGenerated.java, void AutoGenerated.npe(), 2, NULL_DEREFERENCE, ERROR, [start of procedure npe()] +codetoanalyze/java/infer/Builtins.java, void Builtins.doNotBlockError(Object), 3, NULL_DEREFERENCE, ERROR, [start of procedure doNotBlockError(...),Taking true branch] +codetoanalyze/java/infer/CloseableAsResourceExample.java, T CloseableAsResourceExample.sourceOfNullWithResourceLeak(), 1, RESOURCE_LEAK, ERROR, [start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.failToCloseWithCloseQuietly(), 5, RESOURCE_LEAK, ERROR, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.leakFoundWhenIndirectlyImplementingCloseable(), 1, RESOURCE_LEAK, ERROR, [start of procedure leakFoundWhenIndirectlyImplementingCloseable(),start of procedure CloseableAsResourceExample$MyResource(...),return from a call to CloseableAsResourceExample$MyResource.(CloseableAsResourceExample)] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClearinglocalMapContainingResourcesBad(), 4, RESOURCE_LEAK, ERROR, [start of procedure notClearinglocalMapContainingResourcesBad(),start of procedure SomeResource(),return from a call to SomeResource.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingCloseable(), 1, RESOURCE_LEAK, ERROR, [start of procedure notClosingCloseable(),start of procedure SomeResource(),return from a call to SomeResource.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingWrapper(), 2, RESOURCE_LEAK, ERROR, [start of procedure notClosingWrapper(),start of procedure Resource(),return from a call to Resource.(),start of procedure Sub(...),start of procedure Wrapper(...),return from a call to Wrapper.(Resource),return from a call to Sub.(Resource),start of procedure close(),return from a call to void Resource.close()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.skippedVritualCallDoesNotCloseResourceOnReceiver(), 2, RESOURCE_LEAK, ERROR, [start of procedure skippedVritualCallDoesNotCloseResourceOnReceiver(),start of procedure SomeResource(),return from a call to SomeResource.(),Skipping foo(...): method has no implementation,Definition of foo(...)] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.withException(), 4, RESOURCE_LEAK, ERROR, [start of procedure withException(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] +codetoanalyze/java/infer/CursorLeaks.java, Object CursorLeaks.cursorClosedCheckNullCheckClosed_FP(SQLiteDatabase), 13, RESOURCE_LEAK, ERROR, [start of procedure cursorClosedCheckNullCheckClosed_FP(...),Taking false branch,Skipping getString(...): unknown method,Taking true branch,Taking false branch] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.completeDownloadNotClosed(DownloadManager), 8, RESOURCE_LEAK, ERROR, [start of procedure completeDownloadNotClosed(...),Taking false branch,Skipping getColumnIndex(...): unknown method] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.cursorNotClosed(SQLiteDatabase), 4, RESOURCE_LEAK, ERROR, [start of procedure cursorNotClosed(...),Skipping getCount(): unknown method] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getBucketCountNotClosed(), 10, RESOURCE_LEAK, ERROR, [start of procedure getBucketCountNotClosed(),Taking false branch,Taking false branch] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getImageCountHelperNotClosed(String), 13, RESOURCE_LEAK, ERROR, [start of procedure getImageCountHelperNotClosed(...),Taking true branch,Skipping getInt(...): unknown method] +codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.loadPrefsFromContentProviderNotClosed(), 11, RESOURCE_LEAK, ERROR, [start of procedure loadPrefsFromContentProviderNotClosed(),Taking false branch,Taking true branch] +codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.queryUVMLegacyDbNotClosed(), 4, RESOURCE_LEAK, ERROR, [start of procedure queryUVMLegacyDbNotClosed(),Skipping setTables(...): unknown method,Taking true branch] +codetoanalyze/java/infer/CursorNPEs.java, int CursorNPEs.cursorFromDownloadManagerNPE(DownloadManager), 5, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromDownloadManagerNPE(...)] +codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromContentResolverNPE(String), 12, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromContentResolverNPE(...)] +codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromMediaNPE(), 3, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromMediaNPE()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch$WithField.dispatchOnFieldBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dispatchOnFieldBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure DynamicDispatch$WithField(...),return from a call to DynamicDispatch$WithField.(DynamicDispatch$Subtype),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSubtypeBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchCallsWrapperWithSubtypeBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure dynamicDispatchWrapperFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperFoo(DynamicDispatch$Subtype)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSupertypeBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchCallsWrapperWithSupertypeBad(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),start of procedure dynamicDispatchWrapperBar(...),start of procedure bar(),return from a call to Object DynamicDispatch$Supertype.bar(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperBar(DynamicDispatch$Supertype)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotReportWhenCallingSupertype(DynamicDispatch$Subtype), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchShouldNotReportWhenCallingSupertype(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicResolutionWithPrivateMethodBad(), 2, NULL_DEREFERENCE, ERROR, [start of procedure dynamicResolutionWithPrivateMethodBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure callFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.callFoo(DynamicDispatch$Subtype)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, ERROR, [start of procedure interfaceShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Impl(),return from a call to DynamicDispatch$Impl.(),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Impl), 1, NULL_DEREFERENCE, ERROR, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure bufferedInputStreamNotClosedAfterRead(),Skipping BufferedInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure checkedInputStreamNotClosedAfterRead(),Skipping CheckedInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip(), 7, RESOURCE_LEAK, ERROR, [start of procedure cipherInputStreamNotClosedAfterSkip(),Skipping CipherInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, ERROR, [start of procedure dataInputStreamNotClosedAfterRead(),Skipping DataInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure deflaterInputStreamNotClosedAfterRead(),Skipping DeflaterInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, ERROR, [start of procedure digestInputStreamNotClosedAfterRead(),Skipping DigestInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 4, RESOURCE_LEAK, ERROR, [start of procedure gzipInputStreamNotClosedAfterRead()] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure gzipInputStreamNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure inflaterInputStreamNotClosedAfterRead(),Skipping InflaterInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure pushbackInputStreamNotClosedAfterRead(),Skipping PushbackInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure bufferedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure checkedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure cipherOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure dataOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure deflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure digestOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure filterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 4, RESOURCE_LEAK, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush()] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 7, RESOURCE_LEAK, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure printStreamNotClosedAfterWrite()] +codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.g`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.g`] +codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure byRefTrickyBad()] +codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$3.readFromInnerClassBad1(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad1()] +codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$4.readFromInnerClassBad2(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad2()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.xForSub`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.xForSub`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badSub()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbynl`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByNormalLock()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedbyrel`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByReentrantLock()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock1`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.guardedByLock2`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFAfterBlockBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongAnnotation()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongLock()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkMethodAnnotated(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFOkSynchronized(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readGFromCopyOk(), 5, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBadSynchronizedMethodShouldntHelp(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBadSynchronizedMethodShouldntHelp()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.reassignCopyOk(), 4, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.infer.GuardedByExample.mCopyOfG`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodReadBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodWriteBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodWriteBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&#GB<>$codetoanalyze.java.infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`,,access to `&#GB<>$codetoanalyze.java.infer.GuardedByExample.codetoanalyze.java.infer.GuardedByExample.sGuardedByClass`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedOnThisBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFAfterBlockBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`,,access to `&this.codetoanalyze.java.infer.GuardedByExample.f`] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBadWrongLock()] +codetoanalyze/java/infer/HashMapExample.java, int HashMapExample.getOneIntegerWithoutCheck(), 6, NULL_DEREFERENCE, ERROR, [start of procedure getOneIntegerWithoutCheck()] +codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterClearBad(), 5, NULL_DEREFERENCE, ERROR, [start of procedure getAfterClearBad()] +codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterRemovingTheKeyBad(), 5, NULL_DEREFERENCE, ERROR, [start of procedure getAfterRemovingTheKeyBad()] +codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer), 11, NULL_DEREFERENCE, ERROR, [start of procedure getTwoIntegersWithOneCheck(...),Taking true branch,Taking true branch] +codetoanalyze/java/infer/IntegerExample.java, void IntegerExample.testIntegerEqualsBad(), 6, NULL_DEREFERENCE, ERROR, [start of procedure testIntegerEqualsBad(),Taking true branch] +codetoanalyze/java/infer/InvokeDynamic.java, int InvokeDynamic.lambda$npeInLambdaBad$1(String,String), 1, NULL_DEREFERENCE, ERROR, [start of procedure lambda$npeInLambdaBad$1(...)] +codetoanalyze/java/infer/InvokeDynamic.java, void InvokeDynamic.invokeDynamicThenNpeBad(List), 5, NULL_DEREFERENCE, ERROR, [start of procedure invokeDynamicThenNpeBad(...),Skipping sort(...): unknown method] +codetoanalyze/java/infer/Lists.java, void Lists.clearCausesEmptinessNPE(List,int), 5, NULL_DEREFERENCE, ERROR, [start of procedure clearCausesEmptinessNPE(...),Taking true branch,Taking true branch] +codetoanalyze/java/infer/Lists.java, void Lists.getElementNPE(List), 4, NULL_DEREFERENCE, ERROR, [start of procedure getElementNPE(...),Taking false branch,start of procedure getElement(...),Taking true branch,return from a call to Object Lists.getElement(List)] +codetoanalyze/java/infer/Lists.java, void Lists.removeInvalidatesNonEmptinessNPE(List,int), 5, NULL_DEREFERENCE, ERROR, [start of procedure removeInvalidatesNonEmptinessNPE(...),Taking true branch,Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.hashmapNPE(HashMap,Object), 1, NULL_DEREFERENCE, ERROR, [start of procedure hashmapNPE(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.nullTryLock(FileChannel), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullTryLock(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, ERROR, [start of procedure testSystemGetPropertyArgument()] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.tryLockThrows(FileChannel), 6, NULL_DEREFERENCE, ERROR, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int), 1, NULL_DEREFERENCE, ERROR, [start of procedure NPEvalueOfFromHashmapBad(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullListFiles(...),Skipping File(...): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerException()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 2, NULL_DEREFERENCE, ERROR, [start of procedure npeWithDollars()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$E.dereferenceNullableInterfaceFieldBad(), 1, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceNullableInterfaceFieldBad()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 2, NULL_DEREFERENCE, ERROR, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 1, NULL_DEREFERENCE, ERROR, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking false branch,return from a call to Object NullPointerExceptions.getObj()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.cursorFromContentResolverNPE(String), 9, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromContentResolverNPE(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad(), 1, NULL_DEREFERENCE, ERROR, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),return from a call to Object NullPointerExceptions.retUndefined(),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableGetter(), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableRet(boolean), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableRet(...),start of procedure nullableRet(...),Taking true branch,return from a call to Object NullPointerExceptions.nullableRet(boolean)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRet(), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefUndefNullableRet(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 1, NULL_DEREFERENCE, ERROR, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 2, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking true branch,Taking true branch,Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 4, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceAfterUnlock1(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 6, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceAfterUnlock2(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullDerefernceReturnOfSkippedFunctionBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullDerefernceReturnOfSkippedFunctionBad(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionArrayLength()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 7, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 6, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 4, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),Skipping clone(): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableFieldNPE(), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullableFieldNPE()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableParamNPE(Object), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullableParamNPE(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.optionalNPE(Optional), 1, NULL_DEREFERENCE, ERROR, [start of procedure optionalNPE(...),Skipping orNull(): abstract method,Definition of orNull()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.otherSinkWithNeverNullSource(), 3, NULL_DEREFERENCE, ERROR, [start of procedure otherSinkWithNeverNullSource(),start of procedure SomeLibrary(),return from a call to SomeLibrary.(),start of procedure get(),Taking true branch,return from a call to T SomeLibrary.get()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.sinkWithNeverNullSource(), 3, NULL_DEREFERENCE, ERROR, [start of procedure sinkWithNeverNullSource(),start of procedure NeverNullSource(),return from a call to NeverNullSource.(),start of procedure get(),Taking true branch,return from a call to T NeverNullSource.get()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 2, NULL_DEREFERENCE, ERROR, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 10, NULL_DEREFERENCE, ERROR, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking false branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringVarEqualsFalseNPE(), 5, NULL_DEREFERENCE, ERROR, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Skipping toString(): unknown method,Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 2, NULL_DEREFERENCE, ERROR, [start of procedure testSystemGetPropertyReturn()] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.bufferedReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure bufferedReaderNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.fileReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure fileReaderNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.inputStreamReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure inputStreamReaderNotClosedAfterRead(),Skipping InputStreamReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderFalsePositive(), 5, RESOURCE_LEAK, ERROR, [start of procedure pipedReaderFalsePositive()] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter), 7, RESOURCE_LEAK, ERROR, [start of procedure pipedReaderNotClosedAfterConnect(...),exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter(), 8, RESOURCE_LEAK, ERROR, [start of procedure pipedReaderNotClosedAfterConstructedWithWriter(),exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pushbackReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure pushbackReaderNotClosedAfterRead(),Skipping PushbackReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.readerNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure readerNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, String ResourceLeaks.readInstallationFileBad(File), 6, RESOURCE_LEAK, ERROR, [start of procedure readInstallationFileBad(...),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, boolean ResourceLeaks.jarFileNotClosed(), 3, RESOURCE_LEAK, ERROR, [start of procedure jarFileNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 3, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks1(...),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 6, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks1(...),Taking false branch] +codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.readConfigNotCloseStream(String), 5, RESOURCE_LEAK, ERROR, [start of procedure readConfigNotCloseStream(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity), 2, RESOURCE_LEAK, ERROR, [start of procedure activityObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.contextObtainTypedArrayAndLeak(Context), 2, RESOURCE_LEAK, ERROR, [start of procedure contextObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, ERROR, [start of procedure copyFileLeak(...),Skipping transferTo(...): unknown method,Taking true branch,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, ERROR, [start of procedure copyFileLeak(...),exception java.io.FileNotFoundException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.deflaterLeak(), 1, RESOURCE_LEAK, ERROR, [start of procedure deflaterLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure fileInputStreamNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosed(), 1, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamOneLeak(), 2, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamOneLeak(),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 2, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 5, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.inflaterLeak(), 1, RESOURCE_LEAK, ERROR, [start of procedure inflaterLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarInputStreamLeak(), 3, RESOURCE_LEAK, ERROR, [start of procedure jarInputStreamLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarOutputStreamLeak(), 3, RESOURCE_LEAK, ERROR, [start of procedure jarOutputStreamLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad1(), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBad1()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad2(), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBad2()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarInputStream(File), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBadJarInputStream(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarOutputStream(), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBadJarOutputStream()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamClosedNestedBad(), 3, RESOURCE_LEAK, ERROR, [start of procedure objectInputStreamClosedNestedBad()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 3, RESOURCE_LEAK, ERROR, [start of procedure objectInputStreamNotClosedAfterRead()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure objectInputStreamNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamClosedNestedBad(), 3, RESOURCE_LEAK, ERROR, [start of procedure objectOutputStreamClosedNestedBad()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 4, RESOURCE_LEAK, ERROR, [start of procedure objectOutputStreamNotClosedAfterWrite()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure objectOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpURLConnectionNotDisconnected(), 7, RESOURCE_LEAK, ERROR, [start of procedure openHttpURLConnectionNotDisconnected()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpsURLConnectionNotDisconnected(), 3, RESOURCE_LEAK, ERROR, [start of procedure openHttpsURLConnectionNotDisconnected()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory), 5, RESOURCE_LEAK, ERROR, [start of procedure parseFromInputStreamAndLeak(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromStringAndNotClose(JsonFactory), 4, RESOURCE_LEAK, ERROR, [start of procedure parseFromStringAndNotClose(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream), 6, RESOURCE_LEAK, ERROR, [start of procedure pipedInputStreamNotClosedAfterRead(...),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure pipedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.scannerNotClosed(), 1, RESOURCE_LEAK, ERROR, [start of procedure scannerNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.serverSocketNotClosed(), 12, RESOURCE_LEAK, ERROR, [start of procedure serverSocketNotClosed(),Skipping ServerSocket(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.socketNotClosed(), 1, RESOURCE_LEAK, ERROR, [start of procedure socketNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme), 2, RESOURCE_LEAK, ERROR, [start of procedure themeObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResourcesRandomAccessFile(), 10, RESOURCE_LEAK, ERROR, [start of procedure twoResourcesRandomAccessFile(),Taking true branch,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.zipFileLeakExceptionalBranch(), 5, RESOURCE_LEAK, ERROR, [start of procedure zipFileLeakExceptionalBranch(),exception java.io.IOException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportNPE(), 2, NULL_DEREFERENCE, ERROR, [start of procedure shouldNotReportNPE()] +codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportResourceLeak(), 2, RESOURCE_LEAK, ERROR, [start of procedure shouldNotReportResourceLeak()] +codetoanalyze/java/infer/SuppressLintExample.java, void SuppressLintExample.shouldReportNPE(), 2, NULL_DEREFERENCE, ERROR, [start of procedure shouldReportNPE()] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.bufferedWriterNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure bufferedWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,Skipping BufferedWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.fileWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure fileWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.outputStreamWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure outputStreamWriterNotClosedAfterWrite(),Skipping OutputStreamWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader), 7, RESOURCE_LEAK, ERROR, [start of procedure pipedWriterNotClosedAfterConnect(...),exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader(), 8, RESOURCE_LEAK, ERROR, [start of procedure pipedWriterNotClosedAfterConstructedWithReader(),exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.printWriterNotClosedAfterAppend(), 4, RESOURCE_LEAK, ERROR, [start of procedure printWriterNotClosedAfterAppend(),Skipping PrintWriter(...): unknown method] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.writerNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure writerNotClosedAfterWrite(),Skipping PrintWriter(...): unknown method,exception java.io.IOException] diff --git a/infer/tests/build_systems/assembly/issues.exp b/infer/tests/build_systems/assembly/issues.exp index d03e4fd25..de1e83a09 100644 --- a/infer/tests/build_systems/assembly/issues.exp +++ b/infer/tests/build_systems/assembly/issues.exp @@ -1 +1 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/buck-clang-db/issues.exp b/infer/tests/build_systems/buck-clang-db/issues.exp index edd471525..aed3cfd2a 100644 --- a/infer/tests/build_systems/buck-clang-db/issues.exp +++ b/infer/tests/build_systems/buck-clang-db/issues.exp @@ -1,5 +1,5 @@ -clang_compilation_database/hello.cpp, test0, 2, NULL_DEREFERENCE, [start of procedure test0()] -clang_compilation_database/hello.cpp, test1, 2, NULL_DEREFERENCE, [start of procedure test1(),start of procedure deref1()] -clang_compilation_database/hello.cpp, test2, 2, NULL_DEREFERENCE, [start of procedure test2(),start of procedure deref2()] -clang_compilation_database/hello_test.c, hello_test, 2, NULL_DEREFERENCE, [start of procedure hello_test()] -clang_compilation_database/lib3.h, test, 1, NULL_DEREFERENCE, [start of procedure test(),start of procedure deref3()] +clang_compilation_database/hello.cpp, test0, 2, NULL_DEREFERENCE, ERROR, [start of procedure test0()] +clang_compilation_database/hello.cpp, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1(),start of procedure deref1()] +clang_compilation_database/hello.cpp, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2(),start of procedure deref2()] +clang_compilation_database/hello_test.c, hello_test, 2, NULL_DEREFERENCE, ERROR, [start of procedure hello_test()] +clang_compilation_database/lib3.h, test, 1, NULL_DEREFERENCE, ERROR, [start of procedure test(),start of procedure deref3()] diff --git a/infer/tests/build_systems/buck/issues.exp b/infer/tests/build_systems/buck/issues.exp index 56274286a..67286f035 100644 --- a/infer/tests/build_systems/buck/issues.exp +++ b/infer/tests/build_systems/buck/issues.exp @@ -1,11 +1,11 @@ -infer/tests/build_systems/genrule/module1/Class1.java, Object Class1.unannotatedReturnNull(), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `unannotatedReturnNull()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 35)] -infer/tests/build_systems/genrule/module1/Class1.java, void Class1.localNPE1(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: null constant at line 26)] -infer/tests/build_systems/genrule/module2/Class2.java, int Class2.dereferenceInterTargetField2Bad(Class1), 1, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `class1.field2` could be null when accessing field `Class1.x`. (Origin: field Class1.field2 at line 59)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.dereferenceInterTargetField1Bad(Class1), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `class1.field1` in the call to `toString()` could be null. (Origin: field Class1.field1 at line 55)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.dereferenceLocalNullableFieldBad(), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `Class2.field` in the call to `toString()` could be null. (Origin: field Class2.field at line 51)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.dereferenceUnannotatedMethodReturningNullBad(Class1), 1, NULL_DEREFERENCE, [start of procedure dereferenceUnannotatedMethodReturningNullBad(...),start of procedure unannotatedReturnNull(),return from a call to Object Class1.unannotatedReturnNull()] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.followMethodDeclarationOnlyBad(SkipImplementationClass1), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj2` in the call to `toString()` could be null. (Origin: call to annotatedNullable() at line 41)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.interTargetAbstractNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to abstractMayReturnNull() at line 31)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.interTargetNPEBad(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to returnsNull() at line 26)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.interTargetNativeNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to nativeMayReturnNull() at line 36)] -infer/tests/build_systems/genrule/module2/Class2.java, void Class2.localNPE2Bad(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: null constant at line 21)] +infer/tests/build_systems/genrule/module1/Class1.java, Object Class1.unannotatedReturnNull(), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `unannotatedReturnNull()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 35)] +infer/tests/build_systems/genrule/module1/Class1.java, void Class1.localNPE1(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: null constant at line 26)] +infer/tests/build_systems/genrule/module2/Class2.java, int Class2.dereferenceInterTargetField2Bad(Class1), 1, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `class1.field2` could be null when accessing field `Class1.x`. (Origin: field Class1.field2 at line 59)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.dereferenceInterTargetField1Bad(Class1), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `class1.field1` in the call to `toString()` could be null. (Origin: field Class1.field1 at line 55)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.dereferenceLocalNullableFieldBad(), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `Class2.field` in the call to `toString()` could be null. (Origin: field Class2.field at line 51)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.dereferenceUnannotatedMethodReturningNullBad(Class1), 1, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceUnannotatedMethodReturningNullBad(...),start of procedure unannotatedReturnNull(),return from a call to Object Class1.unannotatedReturnNull()] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.followMethodDeclarationOnlyBad(SkipImplementationClass1), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj2` in the call to `toString()` could be null. (Origin: call to annotatedNullable() at line 41)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.interTargetAbstractNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to abstractMayReturnNull() at line 31)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.interTargetNPEBad(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to returnsNull() at line 26)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.interTargetNativeNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to nativeMayReturnNull() at line 36)] +infer/tests/build_systems/genrule/module2/Class2.java, void Class2.localNPE2Bad(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: null constant at line 21)] diff --git a/infer/tests/build_systems/buck_flavors/issues.exp b/infer/tests/build_systems/buck_flavors/issues.exp index 84b553855..a197d5445 100644 --- a/infer/tests/build_systems/buck_flavors/issues.exp +++ b/infer/tests/build_systems/buck_flavors/issues.exp @@ -1,5 +1,5 @@ -src/hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] -src/hello2.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2()] -src/hello3.c, test3, 2, NULL_DEREFERENCE, [start of procedure test3()] -src/subtarget1/z_filename_greater_than_subhello1.c, foo_defined_in_subtarget1, 2, NULL_DEREFERENCE, [start of procedure foo_defined_in_subtarget1()] -src/subtarget2/subhello2.c, goo, 3, NULL_DEREFERENCE, [start of procedure goo(),Skipping foo_defined_in_subtarget1(): function or method not found] +src/hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +src/hello2.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2()] +src/hello3.c, test3, 2, NULL_DEREFERENCE, ERROR, [start of procedure test3()] +src/subtarget1/z_filename_greater_than_subhello1.c, foo_defined_in_subtarget1, 2, NULL_DEREFERENCE, ERROR, [start of procedure foo_defined_in_subtarget1()] +src/subtarget2/subhello2.c, goo, 3, NULL_DEREFERENCE, ERROR, [start of procedure goo(),Skipping foo_defined_in_subtarget1(): function or method not found] diff --git a/infer/tests/build_systems/buck_flavors_run/issues.exp b/infer/tests/build_systems/buck_flavors_run/issues.exp index 5b0c5bc28..a84a1c2d4 100644 --- a/infer/tests/build_systems/buck_flavors_run/issues.exp +++ b/infer/tests/build_systems/buck_flavors_run/issues.exp @@ -1,2 +1,2 @@ -src/hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] -src/hello2.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2()] +src/hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +src/hello2.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2()] diff --git a/infer/tests/build_systems/ck_analytics/issues.exp b/infer/tests/build_systems/ck_analytics/issues.exp index fc94bd5d4..3cba5d9d9 100644 --- a/infer/tests/build_systems/ck_analytics/issues.exp +++ b/infer/tests/build_systems/ck_analytics/issues.exp @@ -1,27 +1,27 @@ -TestComponentKitAnalytics.mm, Linters_dummy_method, -1, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 1, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 2, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 3, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 4, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 5, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 6, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 7, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 8, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 9, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 10, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 11, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 12, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 13, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 14, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 15, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 16, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 17, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 18, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 19, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 20, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 21, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 22, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 23, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, Linters_dummy_method, 24, COMPONENT_FILE_LINE_COUNT, [] -TestComponentKitAnalytics.mm, SomeClass_new, 16, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, [] -TestComponentKitAnalytics.mm, SomeClass_new, 18, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, -1, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 1, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 2, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 3, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 4, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 5, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 6, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 7, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 8, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 9, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 10, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 11, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 12, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 13, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 14, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 15, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 16, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 17, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 18, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 19, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 20, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 21, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 22, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 23, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, Linters_dummy_method, 24, COMPONENT_FILE_LINE_COUNT, INFO, [] +TestComponentKitAnalytics.mm, SomeClass_new, 16, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, INFO, [] +TestComponentKitAnalytics.mm, SomeClass_new, 18, COMPONENT_FILE_CYCLOMATIC_COMPLEXITY, INFO, [] diff --git a/infer/tests/build_systems/ck_imports/issues.exp b/infer/tests/build_systems/ck_imports/issues.exp index efd83579a..e2080651c 100644 --- a/infer/tests/build_systems/ck_imports/issues.exp +++ b/infer/tests/build_systems/ck_imports/issues.exp @@ -1 +1 @@ -TestIgnoreImports.mm, SomeClass_new, 22, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +TestIgnoreImports.mm, SomeClass_new, 22, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] diff --git a/infer/tests/build_systems/clang_compilation_db/issues.exp b/infer/tests/build_systems/clang_compilation_db/issues.exp index b1fc92f76..1aa561dda 100644 --- a/infer/tests/build_systems/clang_compilation_db/issues.exp +++ b/infer/tests/build_systems/clang_compilation_db/issues.exp @@ -1,11 +1,11 @@ -hello.cpp, test0, 2, NULL_DEREFERENCE, [start of procedure test0()] -hello.cpp, test1, 2, NULL_DEREFERENCE, [start of procedure test1(),start of procedure deref1()] -lib3.h, test, 1, NULL_DEREFERENCE, [start of procedure test(),start of procedure deref3()] -hello.cpp, test0, 2, NULL_DEREFERENCE, [start of procedure test0()] -hello.cpp, test1, 2, NULL_DEREFERENCE, [start of procedure test1(),start of procedure deref1()] -hello.cpp, test2, 2, NULL_DEREFERENCE, [start of procedure test2(),start of procedure deref2()] -lib3.h, test, 1, NULL_DEREFERENCE, [start of procedure test(),start of procedure deref3()] -hello.cpp, test0, 2, NULL_DEREFERENCE, [start of procedure test0()] -hello.cpp, test1, 2, NULL_DEREFERENCE, [start of procedure test1(),start of procedure deref1()] -hello.cpp, test2, 2, NULL_DEREFERENCE, [start of procedure test2(),start of procedure deref2()] -lib3.h, test, 1, NULL_DEREFERENCE, [start of procedure test(),start of procedure deref3()] +hello.cpp, test0, 2, NULL_DEREFERENCE, ERROR, [start of procedure test0()] +hello.cpp, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1(),start of procedure deref1()] +lib3.h, test, 1, NULL_DEREFERENCE, ERROR, [start of procedure test(),start of procedure deref3()] +hello.cpp, test0, 2, NULL_DEREFERENCE, ERROR, [start of procedure test0()] +hello.cpp, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1(),start of procedure deref1()] +hello.cpp, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2(),start of procedure deref2()] +lib3.h, test, 1, NULL_DEREFERENCE, ERROR, [start of procedure test(),start of procedure deref3()] +hello.cpp, test0, 2, NULL_DEREFERENCE, ERROR, [start of procedure test0()] +hello.cpp, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1(),start of procedure deref1()] +hello.cpp, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2(),start of procedure deref2()] +lib3.h, test, 1, NULL_DEREFERENCE, ERROR, [start of procedure test(),start of procedure deref3()] diff --git a/infer/tests/build_systems/clang_compilation_db_escaped/issues.exp b/infer/tests/build_systems/clang_compilation_db_escaped/issues.exp index 5af0a3ec5..98a3f3a82 100644 --- a/infer/tests/build_systems/clang_compilation_db_escaped/issues.exp +++ b/infer/tests/build_systems/clang_compilation_db_escaped/issues.exp @@ -1 +1 @@ -build_systems/codetoanalyze/path with spaces/hel lo.c, test_hel_lo, 2, NULL_DEREFERENCE, [start of procedure test_hel_lo()] +build_systems/codetoanalyze/path with spaces/hel lo.c, test_hel_lo, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_hel_lo()] diff --git a/infer/tests/build_systems/clang_compilation_db_relpath/issues.exp b/infer/tests/build_systems/clang_compilation_db_relpath/issues.exp index f658ce9fa..21b3d0ebf 100644 --- a/infer/tests/build_systems/clang_compilation_db_relpath/issues.exp +++ b/infer/tests/build_systems/clang_compilation_db_relpath/issues.exp @@ -1,5 +1,5 @@ -build_systems/codetoanalyze/hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] -build_systems/codetoanalyze/hello2.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2()] -build_systems/codetoanalyze/hello3.c, test3, 2, NULL_DEREFERENCE, [start of procedure test3()] -build_systems/codetoanalyze/path with spaces/hel lo.c, test_hel_lo, 2, NULL_DEREFERENCE, [start of procedure test_hel_lo()] -build_systems/codetoanalyze/path with spaces/hel lo2.c, test_hel_lo2, 2, NULL_DEREFERENCE, [start of procedure test_hel_lo2()] +build_systems/codetoanalyze/hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +build_systems/codetoanalyze/hello2.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2()] +build_systems/codetoanalyze/hello3.c, test3, 2, NULL_DEREFERENCE, ERROR, [start of procedure test3()] +build_systems/codetoanalyze/path with spaces/hel lo.c, test_hel_lo, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_hel_lo()] +build_systems/codetoanalyze/path with spaces/hel lo2.c, test_hel_lo2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_hel_lo2()] diff --git a/infer/tests/build_systems/clang_multiple_files/issues.exp b/infer/tests/build_systems/clang_multiple_files/issues.exp index be79b1541..de11a22b9 100644 --- a/infer/tests/build_systems/clang_multiple_files/issues.exp +++ b/infer/tests/build_systems/clang_multiple_files/issues.exp @@ -1,2 +1,2 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] -hello2.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +hello2.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2()] diff --git a/infer/tests/build_systems/clang_unknown_ext/issues.exp b/infer/tests/build_systems/clang_unknown_ext/issues.exp index c51d658ea..dfb023fbf 100644 --- a/infer/tests/build_systems/clang_unknown_ext/issues.exp +++ b/infer/tests/build_systems/clang_unknown_ext/issues.exp @@ -1 +1 @@ -hello.unknown_ext, test, 2, NULL_DEREFERENCE, [start of procedure test()] +hello.unknown_ext, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/clang_with_MD_flag/issues.exp b/infer/tests/build_systems/clang_with_MD_flag/issues.exp index d03e4fd25..de1e83a09 100644 --- a/infer/tests/build_systems/clang_with_MD_flag/issues.exp +++ b/infer/tests/build_systems/clang_with_MD_flag/issues.exp @@ -1 +1 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/clang_with_blacklisted_flags/issues.exp b/infer/tests/build_systems/clang_with_blacklisted_flags/issues.exp index d03e4fd25..de1e83a09 100644 --- a/infer/tests/build_systems/clang_with_blacklisted_flags/issues.exp +++ b/infer/tests/build_systems/clang_with_blacklisted_flags/issues.exp @@ -1 +1 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/cmake/issues.exp b/infer/tests/build_systems/cmake/issues.exp index 11cfe57f5..30bc7cf47 100644 --- a/infer/tests/build_systems/cmake/issues.exp +++ b/infer/tests/build_systems/cmake/issues.exp @@ -1 +1 @@ -build_systems/codetoanalyze/hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] +build_systems/codetoanalyze/hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/deduplicate_template_warnings/issues.exp b/infer/tests/build_systems/deduplicate_template_warnings/issues.exp index 16299f179..cca1f80aa 100644 --- a/infer/tests/build_systems/deduplicate_template_warnings/issues.exp +++ b/infer/tests/build_systems/deduplicate_template_warnings/issues.exp @@ -1 +1 @@ -templates.cpp, unused_var_template_bad, 1, DEAD_STORE, [Write of unused value] +templates.cpp, unused_var_template_bad, 1, DEAD_STORE, ERROR, [Write of unused value] diff --git a/infer/tests/build_systems/delete_results_dir/issues.exp b/infer/tests/build_systems/delete_results_dir/issues.exp index 5b971aac1..729d35e07 100644 --- a/infer/tests/build_systems/delete_results_dir/issues.exp +++ b/infer/tests/build_systems/delete_results_dir/issues.exp @@ -1 +1 @@ -hello2.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2()] +hello2.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2()] diff --git a/infer/tests/build_systems/diff/fixed.exp b/infer/tests/build_systems/diff/fixed.exp index da5aa8a25..63f11bfd5 100644 --- a/infer/tests/build_systems/diff/fixed.exp +++ b/infer/tests/build_systems/diff/fixed.exp @@ -1 +1 @@ -src/hello.c, test3, 3, MEMORY_LEAK, [start of procedure test3(),Condition is true] +src/hello.c, test3, 3, MEMORY_LEAK, ERROR, [start of procedure test3(),Condition is true] diff --git a/infer/tests/build_systems/diff/introduced.exp b/infer/tests/build_systems/diff/introduced.exp index a68bee185..2e6a44a49 100644 --- a/infer/tests/build_systems/diff/introduced.exp +++ b/infer/tests/build_systems/diff/introduced.exp @@ -1 +1 @@ -src/hello.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2(),start of procedure nullify()] +src/hello.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2(),start of procedure nullify()] diff --git a/infer/tests/build_systems/diff/preexisting.exp b/infer/tests/build_systems/diff/preexisting.exp index 48613a248..b4f07e10d 100644 --- a/infer/tests/build_systems/diff/preexisting.exp +++ b/infer/tests/build_systems/diff/preexisting.exp @@ -1 +1 @@ -src/hello.c, test1, 2, NULL_DEREFERENCE, [start of procedure test1()] +src/hello.c, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1()] diff --git a/infer/tests/build_systems/diff_gen_build_script/fixed.exp b/infer/tests/build_systems/diff_gen_build_script/fixed.exp index 8d8ac624d..4bdba59df 100644 --- a/infer/tests/build_systems/diff_gen_build_script/fixed.exp +++ b/infer/tests/build_systems/diff_gen_build_script/fixed.exp @@ -1 +1 @@ -src/some_bugs.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2(),start of procedure nullify()] +src/some_bugs.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2(),start of procedure nullify()] diff --git a/infer/tests/build_systems/diff_gen_build_script/introduced.exp b/infer/tests/build_systems/diff_gen_build_script/introduced.exp index e0c438e80..847cb0ef4 100644 --- a/infer/tests/build_systems/diff_gen_build_script/introduced.exp +++ b/infer/tests/build_systems/diff_gen_build_script/introduced.exp @@ -1 +1 @@ -src/some_different_bugs.c, test3, 3, MEMORY_LEAK, [start of procedure test3(),Condition is true] +src/some_different_bugs.c, test3, 3, MEMORY_LEAK, ERROR, [start of procedure test3(),Condition is true] diff --git a/infer/tests/build_systems/diff_gen_build_script/preexisting.exp b/infer/tests/build_systems/diff_gen_build_script/preexisting.exp index 9c47d0747..3ec723688 100644 --- a/infer/tests/build_systems/diff_gen_build_script/preexisting.exp +++ b/infer/tests/build_systems/diff_gen_build_script/preexisting.exp @@ -1 +1 @@ -src/some_different_bugs.c, test1, 2, NULL_DEREFERENCE, [start of procedure test1()] +src/some_different_bugs.c, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1()] diff --git a/infer/tests/build_systems/genrule/issues.exp b/infer/tests/build_systems/genrule/issues.exp index bd62ce963..8cda83a76 100644 --- a/infer/tests/build_systems/genrule/issues.exp +++ b/infer/tests/build_systems/genrule/issues.exp @@ -1,8 +1,8 @@ -build_systems/genrule/module2/Class2.java, int Class2.dereferenceInterTargetField2Bad(Class1), 1, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `class1.field2` could be null when accessing field `Class1.x`. (Origin: field Class1.field2 at line 59)] -build_systems/genrule/module2/Class2.java, void Class2.dereferenceInterTargetField1Bad(Class1), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `class1.field1` in the call to `toString()` could be null. (Origin: field Class1.field1 at line 55)] -build_systems/genrule/module2/Class2.java, void Class2.dereferenceLocalNullableFieldBad(), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `Class2.field` in the call to `toString()` could be null. (Origin: field Class2.field at line 51)] -build_systems/genrule/module2/Class2.java, void Class2.followMethodDeclarationOnlyBad(SkipImplementationClass1), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj2` in the call to `toString()` could be null. (Origin: call to annotatedNullable() at line 41)] -build_systems/genrule/module2/Class2.java, void Class2.interTargetAbstractNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to abstractMayReturnNull() at line 31)] -build_systems/genrule/module2/Class2.java, void Class2.interTargetNPEBad(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to returnsNull() at line 26)] -build_systems/genrule/module2/Class2.java, void Class2.interTargetNativeNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to nativeMayReturnNull() at line 36)] -build_systems/genrule/module2/Class2.java, void Class2.localNPE2Bad(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: null constant at line 21)] +build_systems/genrule/module2/Class2.java, int Class2.dereferenceInterTargetField2Bad(Class1), 1, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `class1.field2` could be null when accessing field `Class1.x`. (Origin: field Class1.field2 at line 59)] +build_systems/genrule/module2/Class2.java, void Class2.dereferenceInterTargetField1Bad(Class1), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `class1.field1` in the call to `toString()` could be null. (Origin: field Class1.field1 at line 55)] +build_systems/genrule/module2/Class2.java, void Class2.dereferenceLocalNullableFieldBad(), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `Class2.field` in the call to `toString()` could be null. (Origin: field Class2.field at line 51)] +build_systems/genrule/module2/Class2.java, void Class2.followMethodDeclarationOnlyBad(SkipImplementationClass1), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj2` in the call to `toString()` could be null. (Origin: call to annotatedNullable() at line 41)] +build_systems/genrule/module2/Class2.java, void Class2.interTargetAbstractNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to abstractMayReturnNull() at line 31)] +build_systems/genrule/module2/Class2.java, void Class2.interTargetNPEBad(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to returnsNull() at line 26)] +build_systems/genrule/module2/Class2.java, void Class2.interTargetNativeNPEBad(Class1), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: call to nativeMayReturnNull() at line 36)] +build_systems/genrule/module2/Class2.java, void Class2.localNPE2Bad(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `obj` in the call to `toString()` could be null. (Origin: null constant at line 21)] diff --git a/infer/tests/build_systems/gradle/issues.exp b/infer/tests/build_systems/gradle/issues.exp index ab13104bd..411ca25cf 100644 --- a/infer/tests/build_systems/gradle/issues.exp +++ b/infer/tests/build_systems/gradle/issues.exp @@ -1,3 +1,3 @@ -Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] diff --git a/infer/tests/build_systems/inferconfig/issues.exp b/infer/tests/build_systems/inferconfig/issues.exp index 9315e02be..0fafd52da 100644 --- a/infer/tests/build_systems/inferconfig/issues.exp +++ b/infer/tests/build_systems/inferconfig/issues.exp @@ -1,3 +1,3 @@ -hello.cpp, test0, 2, NULL_DEREFERENCE, [start of procedure test0()] -hello.cpp, test1, 2, NULL_DEREFERENCE, [start of procedure test1(),start of procedure deref1()] -lib3.h, test, 1, NULL_DEREFERENCE, [start of procedure test(),start of procedure deref3()] +hello.cpp, test0, 2, NULL_DEREFERENCE, ERROR, [start of procedure test0()] +hello.cpp, test1, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1(),start of procedure deref1()] +lib3.h, test, 1, NULL_DEREFERENCE, ERROR, [start of procedure test(),start of procedure deref3()] diff --git a/infer/tests/build_systems/javac/issues.exp b/infer/tests/build_systems/javac/issues.exp index d86a11a32..fda486d05 100644 --- a/infer/tests/build_systems/javac/issues.exp +++ b/infer/tests/build_systems/javac/issues.exp @@ -1 +1 @@ -Hello.java, int Hello.test(), 2, NULL_DEREFERENCE, [start of procedure test()] +Hello.java, int Hello.test(), 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/linters/issues.exp b/infer/tests/build_systems/linters/issues.exp index a9ec4a23c..df5441a64 100644 --- a/infer/tests/build_systems/linters/issues.exp +++ b/infer/tests/build_systems/linters/issues.exp @@ -1 +1 @@ -main.mm, SomeClass_new, 7, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] +main.mm, SomeClass_new, 7, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] diff --git a/infer/tests/build_systems/make/issues.exp b/infer/tests/build_systems/make/issues.exp index 743ce362a..278f99da1 100644 --- a/infer/tests/build_systems/make/issues.exp +++ b/infer/tests/build_systems/make/issues.exp @@ -1,4 +1,4 @@ -build_systems/codetoanalyze/make/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -build_systems/codetoanalyze/make/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -build_systems/codetoanalyze/make/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -build_systems/codetoanalyze/make/utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, [start of procedure test_성공()] +build_systems/codetoanalyze/make/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +build_systems/codetoanalyze/make/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +build_systems/codetoanalyze/make/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +build_systems/codetoanalyze/make/utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_성공()] diff --git a/infer/tests/build_systems/mvn/issues.exp b/infer/tests/build_systems/mvn/issues.exp index ac9b29ad7..fa56040a2 100644 --- a/infer/tests/build_systems/mvn/issues.exp +++ b/infer/tests/build_systems/mvn/issues.exp @@ -1,19 +1,19 @@ -- app_with_submodules -build_systems/codetoanalyze/mvn/app_with_submodules/module2parent/module2/src/main/java/com/mycompany/Hello2.java, void Hello2.mayCauseNPE2(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE2(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -build_systems/codetoanalyze/mvn/app_with_submodules/module2parent/module2/src/main/java/com/mycompany/Hello2.java, void Hello2.mayLeakResource2(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource2(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -build_systems/codetoanalyze/mvn/app_with_submodules/module2parent/module2/src/main/java/com/mycompany/Hello2.java, void Hello2.twoResources2(), 11, RESOURCE_LEAK, [start of procedure twoResources2(),Taking true branch,exception java.io.IOException] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +build_systems/codetoanalyze/mvn/app_with_submodules/module2parent/module2/src/main/java/com/mycompany/Hello2.java, void Hello2.mayCauseNPE2(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE2(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +build_systems/codetoanalyze/mvn/app_with_submodules/module2parent/module2/src/main/java/com/mycompany/Hello2.java, void Hello2.mayLeakResource2(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource2(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +build_systems/codetoanalyze/mvn/app_with_submodules/module2parent/module2/src/main/java/com/mycompany/Hello2.java, void Hello2.twoResources2(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources2(),Taking true branch,exception java.io.IOException] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -- simple_app -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -- app_with_infer_profile -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -- app_with_profiles -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +build_systems/codetoanalyze/mvn/simple_app/src/main/java/com/mycompany/Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] diff --git a/infer/tests/build_systems/ndk_build/issues.exp b/infer/tests/build_systems/ndk_build/issues.exp index d03e4fd25..de1e83a09 100644 --- a/infer/tests/build_systems/ndk_build/issues.exp +++ b/infer/tests/build_systems/ndk_build/issues.exp @@ -1 +1 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/objc_getters_setters/issues.exp b/infer/tests/build_systems/objc_getters_setters/issues.exp index d5b1e79eb..d6855c10a 100644 --- a/infer/tests/build_systems/objc_getters_setters/issues.exp +++ b/infer/tests/build_systems/objc_getters_setters/issues.exp @@ -1,5 +1,5 @@ -build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_c_function_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, [start of procedure calling_c_function_with_block_parameters_sets_fields_correctly,start of procedure calling_c_function_with_block_parameters,start of procedure c_function(),start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_3,start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_4,return from a call to c_function_objc_blockB_calling_c_function_with_block_parameters_3_objc_blockB_calling_c_function_with_block_parameters_4,return from a call to B_calling_c_function_with_block_parameters,Condition is true] -build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_method_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, [start of procedure calling_method_with_block_parameters_sets_fields_correctly,start of procedure calling_method_with_block_parameters,start of procedure foo:and:and_also:and:,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_1,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_2,return from a call to A_foo:and:and_also:and:_objc_blockB_calling_method_with_block_parameters_1_objc_blockB_calling_method_with_block_parameters_2,return from a call to B_calling_method_with_block_parameters,Condition is true] -build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_bad_footprint_in_getter:, 3, NULL_DEREFERENCE, [start of procedure npe_no_bad_footprint_in_getter:] -build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_bad_footprint_in_setter:andMetadata:, 3, NULL_DEREFERENCE, [start of procedure npe_no_bad_footprint_in_setter:andMetadata:] -build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_precondition_not_met:, 4, NULL_DEREFERENCE, [start of procedure npe_no_precondition_not_met:,start of procedure infer_field_get_spec:,start of procedure withMetadata:,return from a call to A_withMetadata:,return from a call to B_infer_field_get_spec:,start of procedure getX,return from a call to A_getX,Condition is true] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_c_function_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, ERROR, [start of procedure calling_c_function_with_block_parameters_sets_fields_correctly,start of procedure calling_c_function_with_block_parameters,start of procedure c_function(),start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_3,start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_4,return from a call to c_function_objc_blockB_calling_c_function_with_block_parameters_3_objc_blockB_calling_c_function_with_block_parameters_4,return from a call to B_calling_c_function_with_block_parameters,Condition is true] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_method_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, ERROR, [start of procedure calling_method_with_block_parameters_sets_fields_correctly,start of procedure calling_method_with_block_parameters,start of procedure foo:and:and_also:and:,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_1,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_2,return from a call to A_foo:and:and_also:and:_objc_blockB_calling_method_with_block_parameters_1_objc_blockB_calling_method_with_block_parameters_2,return from a call to B_calling_method_with_block_parameters,Condition is true] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_bad_footprint_in_getter:, 3, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_bad_footprint_in_getter:] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_bad_footprint_in_setter:andMetadata:, 3, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_bad_footprint_in_setter:andMetadata:] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_precondition_not_met:, 4, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_precondition_not_met:,start of procedure infer_field_get_spec:,start of procedure withMetadata:,return from a call to A_withMetadata:,return from a call to B_infer_field_get_spec:,start of procedure getX,return from a call to A_getX,Condition is true] diff --git a/infer/tests/build_systems/project_root_rel/issues.exp b/infer/tests/build_systems/project_root_rel/issues.exp index 11cfe57f5..30bc7cf47 100644 --- a/infer/tests/build_systems/project_root_rel/issues.exp +++ b/infer/tests/build_systems/project_root_rel/issues.exp @@ -1 +1 @@ -build_systems/codetoanalyze/hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] +build_systems/codetoanalyze/hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/reactive/issues.exp b/infer/tests/build_systems/reactive/issues.exp index 399dbec33..e2cd718dd 100644 --- a/infer/tests/build_systems/reactive/issues.exp +++ b/infer/tests/build_systems/reactive/issues.exp @@ -1,3 +1,3 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] -hello2.c, test2, 2, NULL_DEREFERENCE, [start of procedure test2()] -hello3.c, test3, 2, NULL_DEREFERENCE, [start of procedure test3()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +hello2.c, test2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test2()] +hello3.c, test3, 2, NULL_DEREFERENCE, ERROR, [start of procedure test3()] diff --git a/infer/tests/build_systems/uninit/issues.exp b/infer/tests/build_systems/uninit/issues.exp index 48648eb33..e619fa124 100644 --- a/infer/tests/build_systems/uninit/issues.exp +++ b/infer/tests/build_systems/uninit/issues.exp @@ -1,7 +1,7 @@ -build_systems/uninit/inter_proc_uninit.cpp, FP_use_init_x_OK, 5, UNINITIALIZED_VALUE, [] -build_systems/uninit/inter_proc_uninit.cpp, call_init_some_field_of_struct_bad, 4, UNINITIALIZED_VALUE, [] -build_systems/uninit/inter_proc_uninit.cpp, i_call_maybe_init_bad, 3, UNINITIALIZED_VALUE, [] -build_systems/uninit/inter_proc_uninit.cpp, i_no_init_return_bad, 2, UNINITIALIZED_VALUE, [] -build_systems/uninit/inter_proc_uninit.cpp, no_init_field_in_calee_bad, 6, UNINITIALIZED_VALUE, [] -build_systems/uninit/inter_proc_uninit.cpp, no_init_in_calee_bad2, 6, UNINITIALIZED_VALUE, [] -build_systems/uninit/inter_proc_uninit.cpp, no_init_in_callee_bad, 6, UNINITIALIZED_VALUE, [] +build_systems/uninit/inter_proc_uninit.cpp, FP_use_init_x_OK, 5, UNINITIALIZED_VALUE, ERROR, [] +build_systems/uninit/inter_proc_uninit.cpp, call_init_some_field_of_struct_bad, 4, UNINITIALIZED_VALUE, ERROR, [] +build_systems/uninit/inter_proc_uninit.cpp, i_call_maybe_init_bad, 3, UNINITIALIZED_VALUE, ERROR, [] +build_systems/uninit/inter_proc_uninit.cpp, i_no_init_return_bad, 2, UNINITIALIZED_VALUE, ERROR, [] +build_systems/uninit/inter_proc_uninit.cpp, no_init_field_in_calee_bad, 6, UNINITIALIZED_VALUE, ERROR, [] +build_systems/uninit/inter_proc_uninit.cpp, no_init_in_calee_bad2, 6, UNINITIALIZED_VALUE, ERROR, [] +build_systems/uninit/inter_proc_uninit.cpp, no_init_in_callee_bad, 6, UNINITIALIZED_VALUE, ERROR, [] diff --git a/infer/tests/build_systems/utf8_in_procname/issues.exp b/infer/tests/build_systems/utf8_in_procname/issues.exp index 622646551..e236bb3f6 100644 --- a/infer/tests/build_systems/utf8_in_procname/issues.exp +++ b/infer/tests/build_systems/utf8_in_procname/issues.exp @@ -1 +1 @@ -make/utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, [start of procedure test_성공()] +make/utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_성공()] diff --git a/infer/tests/build_systems/utf8_in_pwd/issues.exp b/infer/tests/build_systems/utf8_in_pwd/issues.exp index 44b4f0fe7..313235903 100644 --- a/infer/tests/build_systems/utf8_in_pwd/issues.exp +++ b/infer/tests/build_systems/utf8_in_pwd/issues.exp @@ -1,9 +1,9 @@ -hello.c, test, 2, NULL_DEREFERENCE, [start of procedure test()] -Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -Hello.java, int Hello.test(), 2, NULL_DEREFERENCE, [start of procedure test()] -Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, [start of procedure test_성공()] +hello.c, test, 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +Hello.java, int Hello.test(), 2, NULL_DEREFERENCE, ERROR, [start of procedure test()] +Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_성공()] diff --git a/infer/tests/build_systems/waf/issues.exp b/infer/tests/build_systems/waf/issues.exp index e877c9f65..e0f821fdc 100644 --- a/infer/tests/build_systems/waf/issues.exp +++ b/infer/tests/build_systems/waf/issues.exp @@ -1,4 +1,4 @@ -Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] -Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] -Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, [start of procedure test_성공()] +Hello.java, void Hello.mayCauseNPE(), 4, NULL_DEREFERENCE, ERROR, [start of procedure mayCauseNPE(),Skipping Random(): unknown method,start of procedure mayReturnNull(...),Taking false branch,return from a call to Pointers$A Pointers.mayReturnNull(int)] +Hello.java, void Hello.mayLeakResource(), 7, RESOURCE_LEAK, ERROR, [start of procedure mayLeakResource(),start of procedure allocateResource(),Skipping File(...): unknown method,return from a call to FileOutputStream Resources.allocateResource(),Taking false branch] +Hello.java, void Hello.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +utf8_in_function_names.c, test_성공, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_성공()] diff --git a/infer/tests/build_systems/xcodebuild_no_xcpretty/issues.exp b/infer/tests/build_systems/xcodebuild_no_xcpretty/issues.exp index a1c6a131b..095175eb2 100644 --- a/infer/tests/build_systems/xcodebuild_no_xcpretty/issues.exp +++ b/infer/tests/build_systems/xcodebuild_no_xcpretty/issues.exp @@ -1 +1 @@ -xcodebuild/simple_app/simple_app/ViewController.m, Linters_dummy_method, 15, STRONG_DELEGATE_WARNING, [] +xcodebuild/simple_app/simple_app/ViewController.m, Linters_dummy_method, 15, STRONG_DELEGATE_WARNING, WARNING, [] diff --git a/infer/tests/codetoanalyze/c/biabduction/issues.exp b/infer/tests/codetoanalyze/c/biabduction/issues.exp index 81c825b22..2451a7f88 100644 --- a/infer/tests/codetoanalyze/c/biabduction/issues.exp +++ b/infer/tests/codetoanalyze/c/biabduction/issues.exp @@ -1,8 +1,8 @@ -codetoanalyze/c/biabduction/abduce.c, FN_set_ptr_param_array_get_null_bad, 3, PRECONDITION_NOT_MET, [start of procedure FN_set_ptr_param_array_get_null_bad()] -codetoanalyze/c/biabduction/example.c, bar, 2, DIVIDE_BY_ZERO, [start of procedure bar()] -codetoanalyze/c/biabduction/example.c, foo, 2, NULL_DEREFERENCE, [start of procedure foo()] -codetoanalyze/c/biabduction/example.c, global_addr_alias_bad, 3, NULL_DEREFERENCE, [start of procedure global_addr_alias_bad(),Condition is true] -codetoanalyze/c/biabduction/example.c, local_addr_noalias_bad, 4, NULL_DEREFERENCE, [start of procedure local_addr_noalias_bad(),Condition is true] -codetoanalyze/c/biabduction/example.c, null_dereference_following_function_pointer_call_bad, 4, NULL_DEREFERENCE, [start of procedure null_dereference_following_function_pointer_call_bad(),Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/c/biabduction/shift.c, return_null_deref1_bad, 2, NULL_DEREFERENCE, [start of procedure return_null_deref1_bad(),start of procedure return_depends_on_lshift(),Condition is true,return from a call to return_depends_on_lshift] -codetoanalyze/c/biabduction/shift.c, return_null_deref2_bad, 2, NULL_DEREFERENCE, [start of procedure return_null_deref2_bad(),start of procedure return_depends_on_rshift(),Condition is true,return from a call to return_depends_on_rshift] +codetoanalyze/c/biabduction/abduce.c, FN_set_ptr_param_array_get_null_bad, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure FN_set_ptr_param_array_get_null_bad()] +codetoanalyze/c/biabduction/example.c, bar, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure bar()] +codetoanalyze/c/biabduction/example.c, foo, 2, NULL_DEREFERENCE, ERROR, [start of procedure foo()] +codetoanalyze/c/biabduction/example.c, global_addr_alias_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure global_addr_alias_bad(),Condition is true] +codetoanalyze/c/biabduction/example.c, local_addr_noalias_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure local_addr_noalias_bad(),Condition is true] +codetoanalyze/c/biabduction/example.c, null_dereference_following_function_pointer_call_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure null_dereference_following_function_pointer_call_bad(),Skipping __function_pointer__(): unresolved function pointer] +codetoanalyze/c/biabduction/shift.c, return_null_deref1_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure return_null_deref1_bad(),start of procedure return_depends_on_lshift(),Condition is true,return from a call to return_depends_on_lshift] +codetoanalyze/c/biabduction/shift.c, return_null_deref2_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure return_null_deref2_bad(),start of procedure return_depends_on_rshift(),Condition is true,return from a call to return_depends_on_rshift] diff --git a/infer/tests/codetoanalyze/c/bufferoverrun/issues.exp b/infer/tests/codetoanalyze/c/bufferoverrun/issues.exp index b86072109..e85186e11 100644 --- a/infer/tests/codetoanalyze/c/bufferoverrun/issues.exp +++ b/infer/tests/codetoanalyze/c/bufferoverrun/issues.exp @@ -1,94 +1,94 @@ -codetoanalyze/c/bufferoverrun/arith.c, modulo_signed_Bad, 2, BUFFER_OVERRUN_L3, [ArrayDeclaration,ArrayAccess: Offset: [-4, 4] Size: [5, 5]] -codetoanalyze/c/bufferoverrun/arith.c, modulo_signed_neg_Bad, 2, BUFFER_OVERRUN_L3, [ArrayDeclaration,ArrayAccess: Offset: [-4, 4] Size: [5, 5]] -codetoanalyze/c/bufferoverrun/array_dynlength.c, init_variable_array, 3, BUFFER_OVERRUN_L2, [Offset: [3xs$0 + 1, 3xs$1 + 1] Size: [3xs$0 + 1, 3xs$1 + 1]] -codetoanalyze/c/bufferoverrun/array_field.c, array_field_access_Bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [20, 20] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/array_field.c, decreasing_pointer_Bad, 4, BUFFER_OVERRUN_L1, [Assignment,Assignment,Assignment,ArrayAccess: Offset: [-1, -1] Size: [2, 2]] -codetoanalyze/c/bufferoverrun/break_continue_return.c, break_continue_return, 4, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/break_continue_return.c, break_continue_return, 13, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/break_continue_return.c, break_continue_return, 16, BUFFER_OVERRUN_L2, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/cast.c, cast2_Good_FP, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [4, 4] Size: [4, 4]] -codetoanalyze/c/bufferoverrun/do_while.c, do_while, 2, BUFFER_OVERRUN_L4, [ArrayDeclaration,Assignment,Call,Parameter: a,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10] @ codetoanalyze/c/bufferoverrun/do_while.c:18:5 by call to `do_while_sub()` ] -codetoanalyze/c/bufferoverrun/duplicates.c, one_alarm_is_enough, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Parameter: arr,ArrayAccess: Offset: [1, 1] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:11:7 by call to `two_accesses()` ] -codetoanalyze/c/bufferoverrun/duplicates.c, tsa_one_alarm_Bad, 0, BUFFER_OVERRUN_L1, [Call,ArrayDeclaration,Parameter: n,ArrayAccess: Offset: [3, 3] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:23:3 by call to `two_symbolic_accesses()` ] -codetoanalyze/c/bufferoverrun/duplicates.c, tsa_two_alarms_Bad, 0, BUFFER_OVERRUN_L1, [Call,ArrayDeclaration,Parameter: n,ArrayAccess: Offset: [-1, -1] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:24:3 by call to `two_symbolic_accesses()` ] -codetoanalyze/c/bufferoverrun/duplicates.c, tsa_two_alarms_Bad, 0, BUFFER_OVERRUN_L1, [Call,ArrayDeclaration,Parameter: n,ArrayAccess: Offset: [1, 1] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:23:3 by call to `two_symbolic_accesses()` ] -codetoanalyze/c/bufferoverrun/external.c, extern_bad, 5, BUFFER_OVERRUN_L5, [Unknown value from: lib,Assignment,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] -codetoanalyze/c/bufferoverrun/external.c, extern_bad, 10, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [30, 30] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/for_loop.c, for_loop, 10, BUFFER_OVERRUN_L3, [Call,ArrayDeclaration,Assignment,Assignment,Return,Assignment,Assignment,ArrayAccess: Offset: [0, 9] Size: [5, 10]] -codetoanalyze/c/bufferoverrun/function_call.c, call_by_arr_bad, 3, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/function_call.c, call_by_ptr_bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/function_call.c, call_by_struct_ptr_bad, 5, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/function_call.c, function_call, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Parameter: arr,Assignment,ArrayAccess: Offset: [100, 100] Size: [10, 10] @ codetoanalyze/c/bufferoverrun/function_call.c:21:3 by call to `arr_access()` ] -codetoanalyze/c/bufferoverrun/global.c, compare_global_variable_bad, 3, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/goto_loop.c, goto_loop, 11, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [10, +oo] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/inf_loop.c, inf_loop, 4, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_is_big_Bad, 0, INFERBO_ALLOC_IS_BIG, [Alloc: [2000000000, 2000000000]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_is_negative_Bad, 0, INFERBO_ALLOC_IS_NEGATIVE, [Alloc: [-2, -2]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_is_zero_Bad, 0, INFERBO_ALLOC_IS_ZERO, [Alloc: [0, 0]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_big_Bad, 0, INFERBO_ALLOC_MAY_BE_BIG, [Call,Assignment,Return] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_big_Good_FP, 1, INFERBO_ALLOC_MAY_BE_BIG, [Call,Assignment,Return] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_negative_Bad, 0, INFERBO_ALLOC_MAY_BE_NEGATIVE, [Call,Assignment,Return] -codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_negative_Good_FP, 0, INFERBO_ALLOC_MAY_BE_NEGATIVE, [Call,Assignment,Return] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_concrete_overrun_Bad, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_concrete_underrun_Bad, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_symbolic_overrun_Bad, 3, BUFFER_OVERRUN_L1, [ArrayDeclaration,Parameter: i,ArrayAccess: Offset: [max(10, s$0), s$1] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_symbolic_underrun_Bad, 3, BUFFER_OVERRUN_L1, [ArrayDeclaration,Parameter: i,ArrayAccess: Offset: [s$0, min(-1, s$1)] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_no_overrun_Good_FP, 2, BUFFER_OVERRUN_L2, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [0, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_no_underrun_Good_FP, 2, BUFFER_OVERRUN_L2, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [9, 9]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_overrun_Bad, 2, BUFFER_OVERRUN_L2, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [0, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_underrun_Bad, 2, BUFFER_OVERRUN_L2, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [9, 9]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_symbolic_overrun_Bad, 2, BUFFER_OVERRUN_L2, [Offset: [s$0, s$1] Size: [s$0, s$1]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_no_overrun_Good_FP, 2, BUFFER_OVERRUN_L3, [Offset: [0, 10] Size: [5, 15]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_no_underrun_Good_FP, 2, BUFFER_OVERRUN_L3, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_overrun_Bad, 2, BUFFER_OVERRUN_L3, [Offset: [0, 10] Size: [5, 15]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_underrun_Bad, 2, BUFFER_OVERRUN_L3, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l4_widened_no_overrun_Good_FP, 3, BUFFER_OVERRUN_L4, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l4_widened_overrun_Bad, 3, BUFFER_OVERRUN_L4, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l5_external_Warn_Bad, 2, BUFFER_OVERRUN_L5, [Unknown value from: unknown_function,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, l5_external_Warn_Bad, 2, BUFFER_OVERRUN_L5, [ArrayDeclaration,Unknown value from: unknown_function,ArrayAccess: Offset: [-oo, +oo] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, s2_symbolic_widened_Bad, 3, BUFFER_OVERRUN_S2, [Offset: [s$0, +oo] Size: [s$0, s$1]] -codetoanalyze/c/bufferoverrun/issue_kinds.c, s2_symbolic_widened_Good_FP, 3, BUFFER_OVERRUN_S2, [Offset: [s$0, +oo] Size: [s$0, s$1]] -codetoanalyze/c/bufferoverrun/models.c, exit_bo_good_unreachable_bad, 2, UNREACHABLE_CODE, [] -codetoanalyze/c/bufferoverrun/models.c, fgetc_255_bad, 4, BUFFER_OVERRUN_L2, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 255] Size: [255, 255]] -codetoanalyze/c/bufferoverrun/models.c, fgetc_256_bad, 3, BUFFER_OVERRUN_L2, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 256] Size: [256, 256]] -codetoanalyze/c/bufferoverrun/models.c, fgetc_m1_bad, 3, BUFFER_OVERRUN_L3, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [-1, 255] Size: [10000, 10000]] -codetoanalyze/c/bufferoverrun/nested_loop.c, nested_loop, 7, BUFFER_OVERRUN_L2, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/nested_loop_with_label.c, nested_loop_with_label, 6, BUFFER_OVERRUN_L4, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/pointer_arith.c, array_pointer_arith_Bad, 3, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/pointer_arith.c, pointer_arith_bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/prune_alias.c, FP_prune_alias_exp_Ok, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [1, 1] Size: [1, 1]] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_and_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_and_Ok, 3, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_eq_Ok, 3, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_exp_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_ge_Ok, 3, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_gt_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_le_Ok, 3, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_lt_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_ne_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_not_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_not_Ok, 7, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_not_Ok, 11, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_or_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_or_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_false_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_not_Bad, 3, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_not_Bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [1, 1] Size: [1, 1]] -codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_true_Ok, 3, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_value_Ok, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/sizeof.c, eval_sizeof_bad, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/sizeof.c, eval_sizeof_bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [1, 1] Size: [0, 0]] -codetoanalyze/c/bufferoverrun/sizeof.c, static_stride_bad, 7, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [1, 1] Size: [0, 0]] -codetoanalyze/c/bufferoverrun/trivial.c, trivial, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_once_intentional_good, 3, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_break_good, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_exit_good, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_return_good, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_unreachable_good, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, condition_always_false_bad, 1, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, condition_always_true_bad, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, condition_always_true_with_else_bad, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, infinite_loop_bad, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, never_loops_bad, 1, CONDITION_ALWAYS_FALSE, [] -codetoanalyze/c/bufferoverrun/unreachable.c, unreachable_statement_exit_bad, 1, UNREACHABLE_CODE, [] -codetoanalyze/c/bufferoverrun/while_loop.c, while_loop, 3, BUFFER_OVERRUN_L4, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/arith.c, modulo_signed_Bad, 2, BUFFER_OVERRUN_L3, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [-4, 4] Size: [5, 5]] +codetoanalyze/c/bufferoverrun/arith.c, modulo_signed_neg_Bad, 2, BUFFER_OVERRUN_L3, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [-4, 4] Size: [5, 5]] +codetoanalyze/c/bufferoverrun/array_dynlength.c, init_variable_array, 3, BUFFER_OVERRUN_L2, ERROR, [Offset: [3xs$0 + 1, 3xs$1 + 1] Size: [3xs$0 + 1, 3xs$1 + 1]] +codetoanalyze/c/bufferoverrun/array_field.c, array_field_access_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [20, 20] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/array_field.c, decreasing_pointer_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [Assignment,Assignment,Assignment,ArrayAccess: Offset: [-1, -1] Size: [2, 2]] +codetoanalyze/c/bufferoverrun/break_continue_return.c, break_continue_return, 4, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/break_continue_return.c, break_continue_return, 13, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/break_continue_return.c, break_continue_return, 16, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/cast.c, cast2_Good_FP, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [4, 4] Size: [4, 4]] +codetoanalyze/c/bufferoverrun/do_while.c, do_while, 2, BUFFER_OVERRUN_L4, ERROR, [ArrayDeclaration,Assignment,Call,Parameter: a,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10] @ codetoanalyze/c/bufferoverrun/do_while.c:18:5 by call to `do_while_sub()` ] +codetoanalyze/c/bufferoverrun/duplicates.c, one_alarm_is_enough, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Parameter: arr,ArrayAccess: Offset: [1, 1] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:11:7 by call to `two_accesses()` ] +codetoanalyze/c/bufferoverrun/duplicates.c, tsa_one_alarm_Bad, 0, BUFFER_OVERRUN_L1, ERROR, [Call,ArrayDeclaration,Parameter: n,ArrayAccess: Offset: [3, 3] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:23:3 by call to `two_symbolic_accesses()` ] +codetoanalyze/c/bufferoverrun/duplicates.c, tsa_two_alarms_Bad, 0, BUFFER_OVERRUN_L1, ERROR, [Call,ArrayDeclaration,Parameter: n,ArrayAccess: Offset: [-1, -1] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:24:3 by call to `two_symbolic_accesses()` ] +codetoanalyze/c/bufferoverrun/duplicates.c, tsa_two_alarms_Bad, 0, BUFFER_OVERRUN_L1, ERROR, [Call,ArrayDeclaration,Parameter: n,ArrayAccess: Offset: [1, 1] Size: [1, 1] @ codetoanalyze/c/bufferoverrun/duplicates.c:23:3 by call to `two_symbolic_accesses()` ] +codetoanalyze/c/bufferoverrun/external.c, extern_bad, 5, BUFFER_OVERRUN_L5, ERROR, [Unknown value from: lib,Assignment,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] +codetoanalyze/c/bufferoverrun/external.c, extern_bad, 10, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [30, 30] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/for_loop.c, for_loop, 10, BUFFER_OVERRUN_L3, ERROR, [Call,ArrayDeclaration,Assignment,Assignment,Return,Assignment,Assignment,ArrayAccess: Offset: [0, 9] Size: [5, 10]] +codetoanalyze/c/bufferoverrun/function_call.c, call_by_arr_bad, 3, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/function_call.c, call_by_ptr_bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/function_call.c, call_by_struct_ptr_bad, 5, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/function_call.c, function_call, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Parameter: arr,Assignment,ArrayAccess: Offset: [100, 100] Size: [10, 10] @ codetoanalyze/c/bufferoverrun/function_call.c:21:3 by call to `arr_access()` ] +codetoanalyze/c/bufferoverrun/global.c, compare_global_variable_bad, 3, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/goto_loop.c, goto_loop, 11, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [10, +oo] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/inf_loop.c, inf_loop, 4, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_is_big_Bad, 0, INFERBO_ALLOC_IS_BIG, ERROR, [Alloc: [2000000000, 2000000000]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_is_negative_Bad, 0, INFERBO_ALLOC_IS_NEGATIVE, ERROR, [Alloc: [-2, -2]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_is_zero_Bad, 0, INFERBO_ALLOC_IS_ZERO, ERROR, [Alloc: [0, 0]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_big_Bad, 0, INFERBO_ALLOC_MAY_BE_BIG, ERROR, [Call,Assignment,Return] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_big_Good_FP, 1, INFERBO_ALLOC_MAY_BE_BIG, ERROR, [Call,Assignment,Return] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_negative_Bad, 0, INFERBO_ALLOC_MAY_BE_NEGATIVE, ERROR, [Call,Assignment,Return] +codetoanalyze/c/bufferoverrun/issue_kinds.c, alloc_may_be_negative_Good_FP, 0, INFERBO_ALLOC_MAY_BE_NEGATIVE, ERROR, [Call,Assignment,Return] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_concrete_overrun_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_concrete_underrun_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_symbolic_overrun_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Parameter: i,ArrayAccess: Offset: [max(10, s$0), s$1] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l1_symbolic_underrun_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Parameter: i,ArrayAccess: Offset: [s$0, min(-1, s$1)] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_no_overrun_Good_FP, 2, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [0, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_no_underrun_Good_FP, 2, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [9, 9]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_overrun_Bad, 2, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [0, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_concrete_underrun_Bad, 2, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [9, 9]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l2_symbolic_overrun_Bad, 2, BUFFER_OVERRUN_L2, ERROR, [Offset: [s$0, s$1] Size: [s$0, s$1]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_no_overrun_Good_FP, 2, BUFFER_OVERRUN_L3, ERROR, [Offset: [0, 10] Size: [5, 15]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_no_underrun_Good_FP, 2, BUFFER_OVERRUN_L3, ERROR, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_overrun_Bad, 2, BUFFER_OVERRUN_L3, ERROR, [Offset: [0, 10] Size: [5, 15]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l3_concrete_underrun_Bad, 2, BUFFER_OVERRUN_L3, ERROR, [ArrayDeclaration,Call,Assignment,Return,ArrayAccess: Offset: [-1, 9] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l4_widened_no_overrun_Good_FP, 3, BUFFER_OVERRUN_L4, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l4_widened_overrun_Bad, 3, BUFFER_OVERRUN_L4, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l5_external_Warn_Bad, 2, BUFFER_OVERRUN_L5, ERROR, [Unknown value from: unknown_function,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, l5_external_Warn_Bad, 2, BUFFER_OVERRUN_L5, ERROR, [ArrayDeclaration,Unknown value from: unknown_function,ArrayAccess: Offset: [-oo, +oo] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, s2_symbolic_widened_Bad, 3, BUFFER_OVERRUN_S2, ERROR, [Offset: [s$0, +oo] Size: [s$0, s$1]] +codetoanalyze/c/bufferoverrun/issue_kinds.c, s2_symbolic_widened_Good_FP, 3, BUFFER_OVERRUN_S2, ERROR, [Offset: [s$0, +oo] Size: [s$0, s$1]] +codetoanalyze/c/bufferoverrun/models.c, exit_bo_good_unreachable_bad, 2, UNREACHABLE_CODE, ERROR, [] +codetoanalyze/c/bufferoverrun/models.c, fgetc_255_bad, 4, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 255] Size: [255, 255]] +codetoanalyze/c/bufferoverrun/models.c, fgetc_256_bad, 3, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 256] Size: [256, 256]] +codetoanalyze/c/bufferoverrun/models.c, fgetc_m1_bad, 3, BUFFER_OVERRUN_L3, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [-1, 255] Size: [10000, 10000]] +codetoanalyze/c/bufferoverrun/nested_loop.c, nested_loop, 7, BUFFER_OVERRUN_L2, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/nested_loop_with_label.c, nested_loop_with_label, 6, BUFFER_OVERRUN_L4, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/pointer_arith.c, array_pointer_arith_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/pointer_arith.c, pointer_arith_bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/prune_alias.c, FP_prune_alias_exp_Ok, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [1, 1] Size: [1, 1]] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_and_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_and_Ok, 3, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_eq_Ok, 3, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_exp_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_ge_Ok, 3, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_gt_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_le_Ok, 3, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_lt_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_ne_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_not_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_not_Ok, 7, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_not_Ok, 11, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_or_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_alias.c, prune_alias_or_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_false_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_not_Bad, 3, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_not_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,ArrayAccess: Offset: [1, 1] Size: [1, 1]] +codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_true_Ok, 3, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/prune_constant.c, prune_constant_value_Ok, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/sizeof.c, eval_sizeof_bad, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/sizeof.c, eval_sizeof_bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [1, 1] Size: [0, 0]] +codetoanalyze/c/bufferoverrun/sizeof.c, static_stride_bad, 7, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [1, 1] Size: [0, 0]] +codetoanalyze/c/bufferoverrun/trivial.c, trivial, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_once_intentional_good, 3, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_break_good, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_exit_good, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_return_good, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, FP_loop_with_unreachable_good, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, condition_always_false_bad, 1, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, condition_always_true_bad, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, condition_always_true_with_else_bad, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, infinite_loop_bad, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, never_loops_bad, 1, CONDITION_ALWAYS_FALSE, WARNING, [] +codetoanalyze/c/bufferoverrun/unreachable.c, unreachable_statement_exit_bad, 1, UNREACHABLE_CODE, ERROR, [] +codetoanalyze/c/bufferoverrun/while_loop.c, while_loop, 3, BUFFER_OVERRUN_L4, ERROR, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [0, +oo] Size: [10, 10]] diff --git a/infer/tests/codetoanalyze/cpp/bufferoverrun/issues.exp b/infer/tests/codetoanalyze/cpp/bufferoverrun/issues.exp index 026e30f79..1495e1d49 100644 --- a/infer/tests/codetoanalyze/cpp/bufferoverrun/issues.exp +++ b/infer/tests/codetoanalyze/cpp/bufferoverrun/issues.exp @@ -1,43 +1,43 @@ -codetoanalyze/cpp/bufferoverrun/class.cpp, access_after_new_Bad, 2, BUFFER_OVERRUN_L1, [Call,Parameter: n,ArrayAccess: Offset: [15, 15] Size: [10, 10] @ codetoanalyze/cpp/bufferoverrun/class.cpp:28:34 by call to `my_class_access_nth()` ] -codetoanalyze/cpp/bufferoverrun/class.cpp, array_member_malloc2_Bad, 2, BUFFER_OVERRUN_L1, [Offset: [10, 10] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/class.cpp, array_member_malloc_Bad, 2, BUFFER_OVERRUN_L1, [Offset: [10, 10] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array1_Bad, 3, BUFFER_OVERRUN_L1, [Offset: [5, 5] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array4_Bad, 3, BUFFER_OVERRUN_L1, [Offset: [5, 5] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array5_Bad, 2, BUFFER_OVERRUN_L1, [Call,Call,Return,Call,Parameter: nth,ArrayAccess: Offset: [5, 5] Size: [3, 3] @ codetoanalyze/cpp/bufferoverrun/class.cpp:139:51 by call to `Tree_set_child()` ] -codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array_param_Bad, 2, BUFFER_OVERRUN_L1, [Call,ArrayAccess: Offset: [3, 3] Size: [3, 3] @ codetoanalyze/cpp/bufferoverrun/class.cpp:165:50 by call to `flexible_array_param_access()` ] -codetoanalyze/cpp/bufferoverrun/class.cpp, my_class_access2_Bad, 2, BUFFER_OVERRUN_L1, [Call,Assignment,Call,Parameter: n,Assignment,Return,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/cpp/bufferoverrun/class.cpp, my_class_access_Bad, 2, BUFFER_OVERRUN_L1, [Call,Call,Parameter: n,Assignment,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/cpp/bufferoverrun/class.cpp, placement_new_Bad, 3, BUFFER_OVERRUN_L1, [Offset: [10, 10] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/class.cpp, return_class_Bad, 2, BUFFER_OVERRUN_L1, [Return,ArrayAccess: Offset: [5, 5] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/external.cpp, extern_bad, 5, BUFFER_OVERRUN_L5, [Unknown value from: lib,Assignment,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/external.cpp, extern_bad, 10, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [30, 30] Size: [10, 10]] -codetoanalyze/cpp/bufferoverrun/folly_split.cpp, folly_split::do_not_ignore_empty_Bad, 3, BUFFER_OVERRUN_L4, [Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [0, 0] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/function_call.cpp, call_by_ref_bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] -codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_Bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [5, 5] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_Good_FP, 6, BUFFER_OVERRUN_L5, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [-oo, +oo] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_flexible_array_Bad, 4, BUFFER_OVERRUN_L1, [Offset: [7, 7] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_struct1_Bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [5, 5] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_struct2_Bad, 4, BUFFER_OVERRUN_L1, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [5, 5] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/remove_temps.cpp, C_foo_Bad, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/cpp/bufferoverrun/remove_temps.cpp, C_foo_Bad, 6, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/remove_temps.cpp, C_goo, 1, CONDITION_ALWAYS_TRUE, [] -codetoanalyze/cpp/bufferoverrun/repro1.cpp, LM_lI, 2, BUFFER_OVERRUN_L5, [Call,Assignment,Return,Assignment,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [0, +oo] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/repro1.cpp, LM_uI_FP, 0, BUFFER_OVERRUN_S2, [Parameter: bi,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [-1+max(1, s$4), -1+max(1, s$5)] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/repro1.cpp, LM_u_FP, 5, BUFFER_OVERRUN_S2, [Call,Parameter: bi,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [-1+max(1, s$8), -1+max(1, s$9)] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/repro1.cpp, ral_FP, 3, BUFFER_OVERRUN_S2, [Call,Call,Parameter: bi,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [-1+max(1, s$4), -1+max(1, s$5)] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/simple_vector.cpp, instantiate_my_vector_oob_Ok, 3, BUFFER_OVERRUN_L1, [Call,Parameter: newsize,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: i,ArrayAccess: Offset: [42, 42] Size: [42, 42] @ codetoanalyze/cpp/bufferoverrun/simple_vector.cpp:21:23 by call to `my_vector_oob_Bad()` ] -codetoanalyze/cpp/bufferoverrun/simple_vector.cpp, my_vector_oob_Bad, 2, BUFFER_OVERRUN_L2, [Call,Call,ArrayDeclaration,Assignment,Parameter: i,ArrayAccess: Offset: [u$4, u$5] Size: [u$4, u$5] @ codetoanalyze/cpp/bufferoverrun/simple_vector.cpp:21:23 by call to `int_vector_access_at()` ] -codetoanalyze/cpp/bufferoverrun/std_array.cpp, normal_array_bo, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [42, 42] Size: [42, 42]] -codetoanalyze/cpp/bufferoverrun/std_array.cpp, std_array_bo_Bad, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [42, 42] Size: [42, 42]] -codetoanalyze/cpp/bufferoverrun/trivial.cpp, trivial, 2, BUFFER_OVERRUN_L1, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, assert_Bad, 6, BUFFER_OVERRUN_L1, [Call,Call,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [6, 6] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, assert_Good_FP, 6, BUFFER_OVERRUN_L3, [Call,Call,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [4, 4] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, data_Bad, 4, BUFFER_OVERRUN_L5, [Call,Parameter: __n,Call,Parameter: __n,Assignment,Call,Call,ArrayDeclaration,Assignment,Assignment,Return,Assignment,Assignment,Return,Assignment,Call,Return,Return,ArrayAccess: Offset: [-oo, +oo] Size: [5, 5]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, just_test_model_FP, 16, BUFFER_OVERRUN_L5, [Unknown value from: __infer_skip_function,Call,Parameter: __il,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, just_test_model_FP, 18, BUFFER_OVERRUN_L3, [Call,Call,Unknown value from: std::distance,Call,Parameter: __n,Assignment,Call,Call,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [1, 1] Size: [0, +oo]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, out_of_bound_Bad, 2, BUFFER_OVERRUN_L2, [Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [u$4, u$5] Size: [u$4, u$5]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, precise_subst_Bad, 3, BUFFER_OVERRUN_L1, [ArrayDeclaration,Call,Parameter: init,Assignment,Call,Assignment,Call,Call,Assignment,Return,ArrayAccess: Offset: [-1, -1] Size: [10, 10] @ codetoanalyze/cpp/bufferoverrun/vector.cpp:206:3 by call to `access_minus_one()` ] -codetoanalyze/cpp/bufferoverrun/vector.cpp, precise_subst_Good_FP, 3, BUFFER_OVERRUN_L3, [ArrayDeclaration,Call,Parameter: init,Assignment,Call,Assignment,Call,Call,Assignment,Return,ArrayAccess: Offset: [-1, 0] Size: [10, 10] @ codetoanalyze/cpp/bufferoverrun/vector.cpp:206:3 by call to `access_minus_one()` ] -codetoanalyze/cpp/bufferoverrun/vector.cpp, push_back_Bad, 3, BUFFER_OVERRUN_L1, [Call,Call,Assignment,Call,Assignment,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [1, 1] Size: [1, 1]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, reserve_Bad, 3, BUFFER_OVERRUN_L1, [Call,Call,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [0, 0] Size: [0, 0]] -codetoanalyze/cpp/bufferoverrun/vector.cpp, safe_access3_Good, 2, CONDITION_ALWAYS_FALSE, [] +codetoanalyze/cpp/bufferoverrun/class.cpp, access_after_new_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Call,Parameter: n,ArrayAccess: Offset: [15, 15] Size: [10, 10] @ codetoanalyze/cpp/bufferoverrun/class.cpp:28:34 by call to `my_class_access_nth()` ] +codetoanalyze/cpp/bufferoverrun/class.cpp, array_member_malloc2_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Offset: [10, 10] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/class.cpp, array_member_malloc_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Offset: [10, 10] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array1_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [Offset: [5, 5] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array4_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [Offset: [5, 5] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array5_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Call,Call,Return,Call,Parameter: nth,ArrayAccess: Offset: [5, 5] Size: [3, 3] @ codetoanalyze/cpp/bufferoverrun/class.cpp:139:51 by call to `Tree_set_child()` ] +codetoanalyze/cpp/bufferoverrun/class.cpp, flexible_array_param_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Call,ArrayAccess: Offset: [3, 3] Size: [3, 3] @ codetoanalyze/cpp/bufferoverrun/class.cpp:165:50 by call to `flexible_array_param_access()` ] +codetoanalyze/cpp/bufferoverrun/class.cpp, my_class_access2_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Call,Assignment,Call,Parameter: n,Assignment,Return,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/cpp/bufferoverrun/class.cpp, my_class_access_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Call,Call,Parameter: n,Assignment,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/cpp/bufferoverrun/class.cpp, placement_new_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [Offset: [10, 10] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/class.cpp, return_class_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [Return,ArrayAccess: Offset: [5, 5] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/external.cpp, extern_bad, 5, BUFFER_OVERRUN_L5, ERROR, [Unknown value from: lib,Assignment,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/external.cpp, extern_bad, 10, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [30, 30] Size: [10, 10]] +codetoanalyze/cpp/bufferoverrun/folly_split.cpp, folly_split::do_not_ignore_empty_Bad, 3, BUFFER_OVERRUN_L4, ERROR, [Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [0, 0] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/function_call.cpp, call_by_ref_bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Assignment,ArrayAccess: Offset: [-1, -1] Size: [10, 10]] +codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [5, 5] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_Good_FP, 6, BUFFER_OVERRUN_L5, ERROR, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [-oo, +oo] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_flexible_array_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [Offset: [7, 7] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_struct1_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [5, 5] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/realloc.cpp, realloc_struct2_Bad, 4, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Assignment,Assignment,ArrayAccess: Offset: [5, 5] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/remove_temps.cpp, C_foo_Bad, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/cpp/bufferoverrun/remove_temps.cpp, C_foo_Bad, 6, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/remove_temps.cpp, C_goo, 1, CONDITION_ALWAYS_TRUE, WARNING, [] +codetoanalyze/cpp/bufferoverrun/repro1.cpp, LM_lI, 2, BUFFER_OVERRUN_L5, ERROR, [Call,Assignment,Return,Assignment,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [0, +oo] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/repro1.cpp, LM_uI_FP, 0, BUFFER_OVERRUN_S2, ERROR, [Parameter: bi,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [-1+max(1, s$4), -1+max(1, s$5)] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/repro1.cpp, LM_u_FP, 5, BUFFER_OVERRUN_S2, ERROR, [Call,Parameter: bi,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [-1+max(1, s$8), -1+max(1, s$9)] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/repro1.cpp, ral_FP, 3, BUFFER_OVERRUN_S2, ERROR, [Call,Call,Parameter: bi,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [-1+max(1, s$4), -1+max(1, s$5)] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/simple_vector.cpp, instantiate_my_vector_oob_Ok, 3, BUFFER_OVERRUN_L1, ERROR, [Call,Parameter: newsize,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: i,ArrayAccess: Offset: [42, 42] Size: [42, 42] @ codetoanalyze/cpp/bufferoverrun/simple_vector.cpp:21:23 by call to `my_vector_oob_Bad()` ] +codetoanalyze/cpp/bufferoverrun/simple_vector.cpp, my_vector_oob_Bad, 2, BUFFER_OVERRUN_L2, ERROR, [Call,Call,ArrayDeclaration,Assignment,Parameter: i,ArrayAccess: Offset: [u$4, u$5] Size: [u$4, u$5] @ codetoanalyze/cpp/bufferoverrun/simple_vector.cpp:21:23 by call to `int_vector_access_at()` ] +codetoanalyze/cpp/bufferoverrun/std_array.cpp, normal_array_bo, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [42, 42] Size: [42, 42]] +codetoanalyze/cpp/bufferoverrun/std_array.cpp, std_array_bo_Bad, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [42, 42] Size: [42, 42]] +codetoanalyze/cpp/bufferoverrun/trivial.cpp, trivial, 2, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,ArrayAccess: Offset: [10, 10] Size: [10, 10]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, assert_Bad, 6, BUFFER_OVERRUN_L1, ERROR, [Call,Call,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [6, 6] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, assert_Good_FP, 6, BUFFER_OVERRUN_L3, ERROR, [Call,Call,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [4, 4] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, data_Bad, 4, BUFFER_OVERRUN_L5, ERROR, [Call,Parameter: __n,Call,Parameter: __n,Assignment,Call,Call,ArrayDeclaration,Assignment,Assignment,Return,Assignment,Assignment,Return,Assignment,Call,Return,Return,ArrayAccess: Offset: [-oo, +oo] Size: [5, 5]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, just_test_model_FP, 16, BUFFER_OVERRUN_L5, ERROR, [Unknown value from: __infer_skip_function,Call,Parameter: __il,ArrayAccess: Offset: [-oo, +oo] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, just_test_model_FP, 18, BUFFER_OVERRUN_L3, ERROR, [Call,Call,Unknown value from: std::distance,Call,Parameter: __n,Assignment,Call,Call,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [1, 1] Size: [0, +oo]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, out_of_bound_Bad, 2, BUFFER_OVERRUN_L2, ERROR, [Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [u$4, u$5] Size: [u$4, u$5]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, precise_subst_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [ArrayDeclaration,Call,Parameter: init,Assignment,Call,Assignment,Call,Call,Assignment,Return,ArrayAccess: Offset: [-1, -1] Size: [10, 10] @ codetoanalyze/cpp/bufferoverrun/vector.cpp:206:3 by call to `access_minus_one()` ] +codetoanalyze/cpp/bufferoverrun/vector.cpp, precise_subst_Good_FP, 3, BUFFER_OVERRUN_L3, ERROR, [ArrayDeclaration,Call,Parameter: init,Assignment,Call,Assignment,Call,Call,Assignment,Return,ArrayAccess: Offset: [-1, 0] Size: [10, 10] @ codetoanalyze/cpp/bufferoverrun/vector.cpp:206:3 by call to `access_minus_one()` ] +codetoanalyze/cpp/bufferoverrun/vector.cpp, push_back_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [Call,Call,Assignment,Call,Assignment,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [1, 1] Size: [1, 1]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, reserve_Bad, 3, BUFFER_OVERRUN_L1, ERROR, [Call,Call,Assignment,Call,Call,Call,ArrayDeclaration,Assignment,Parameter: index,ArrayAccess: Offset: [0, 0] Size: [0, 0]] +codetoanalyze/cpp/bufferoverrun/vector.cpp, safe_access3_Good, 2, CONDITION_ALWAYS_FALSE, WARNING, [] diff --git a/infer/tests/codetoanalyze/cpp/conflicts/issues.exp b/infer/tests/codetoanalyze/cpp/conflicts/issues.exp index 5e0dfffe4..58cf49956 100644 --- a/infer/tests/codetoanalyze/cpp/conflicts/issues.exp +++ b/infer/tests/codetoanalyze/cpp/conflicts/issues.exp @@ -1,3 +1,3 @@ -codetoanalyze/cpp/conflicts/test.cpp, test1_bad, 2, NULL_DEREFERENCE, [start of procedure test1_bad(),Skipping nullableMethod(): function or method not found] -codetoanalyze/cpp/conflicts/test.cpp, test2_bad, 1, NULLABLE_DEREFERENCE, [dereferencing the return of nullableMethod(),definition of nullableMethod] -codetoanalyze/cpp/conflicts/test.cpp, test3_bad, 5, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/cpp/conflicts/test.cpp, test1_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1_bad(),Skipping nullableMethod(): function or method not found] +codetoanalyze/cpp/conflicts/test.cpp, test2_bad, 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of nullableMethod(),definition of nullableMethod] +codetoanalyze/cpp/conflicts/test.cpp, test3_bad, 5, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of nullableMethod] diff --git a/infer/tests/codetoanalyze/cpp/errors/issues.exp b/infer/tests/codetoanalyze/cpp/errors/issues.exp index 8cf50af67..c955bbb69 100644 --- a/infer/tests/codetoanalyze/cpp/errors/issues.exp +++ b/infer/tests/codetoanalyze/cpp/errors/issues.exp @@ -1,383 +1,383 @@ -INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::operator!=<65d659492edc5cb5>, 1, Abduction_case_not_implemented, [start of procedure std::operator!=<65d659492edc5cb5>()] -INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::unique_ptr>___infer_inner_destructor_~unique_ptr, 0, Missing_fld, [start of procedure __infer_inner_destructor_~unique_ptr,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer] -INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::unique_ptr>___infer_inner_destructor_~unique_ptr, 0, Missing_fld, [start of procedure __infer_inner_destructor_~unique_ptr,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, [start of procedure crash_fgetc()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, [start of procedure crash_getc()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_fail_gets_reported, 2, NULL_DEREFERENCE, [start of procedure malloc_fail_gets_reported()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, [start of procedure malloc_memory_leak_is_reported()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, NULL_DEREFERENCE, [start of procedure memcpy_spec_is_found()] -codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, [start of procedure resource_leak_is_reported()] -codetoanalyze/cpp/errors/include_header/header.h, header::A_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] -codetoanalyze/cpp/errors/include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, [start of procedure header::div0_fun()] -codetoanalyze/cpp/errors/include_header/header2.h, header2::B_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] -codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ()] -codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 4, MEMORY_LEAK, [start of procedure leak()] -codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle_Rectangle] -codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, [start of procedure memory_leak()] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe1_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_strong_possible_npe1_bad(),Condition is true,Condition is true,Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe2_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_strong_possible_npe2_bad(),Condition is true,Condition is true,Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe1_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_weak_possible_npe1_bad(),Condition is true,Condition is true,Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe2_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_weak_possible_npe2_bad(),Condition is true,Condition is true,Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::exchange_possible_npe_bad, 5, NULL_DEREFERENCE, [start of procedure atomic_test::exchange_possible_npe_bad(),Condition is true,Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::is_zero_possible_npe_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::is_zero_possible_npe_bad(),start of procedure A,return from a call to atomic_test::A_A,start of procedure add,return from a call to atomic_test::A_add,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure is_zero,Condition is true,return from a call to atomic_test::A_is_zero,Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::load_store_possible_npe_bad, 5, NULL_DEREFERENCE, [start of procedure atomic_test::load_store_possible_npe_bad(),Condition is true] -codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::not_zero_possible_npe_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::not_zero_possible_npe_bad(),start of procedure A,return from a call to atomic_test::A_A,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure is_zero,Condition is false,return from a call to atomic_test::A_is_zero,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_eq_bad, 4, NULL_DEREFERENCE, [start of procedure operator_eq_bad(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_ge_bad, 4, NULL_DEREFERENCE, [start of procedure operator_ge_bad(),start of procedure operator>=(),start of procedure operator<(),Condition is false,Condition is false,Condition is false,return from a call to operator<,Condition is false,return from a call to operator>=,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_gt_bad, 4, NULL_DEREFERENCE, [start of procedure operator_gt_bad(),start of procedure operator>(),start of procedure operator<(),Condition is false,Condition is false,Condition is true,return from a call to operator<,return from a call to operator>,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_le_bad, 4, NULL_DEREFERENCE, [start of procedure operator_le_bad(),start of procedure operator<=(),start of procedure operator<(),Condition is false,Condition is false,Condition is false,return from a call to operator<,Condition is false,return from a call to operator<=,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_lt_bad, 4, NULL_DEREFERENCE, [start of procedure operator_lt_bad(),start of procedure operator<(),Condition is false,Condition is false,Condition is true,return from a call to operator<,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_neq_bad, 4, NULL_DEREFERENCE, [start of procedure operator_neq_bad(),start of procedure operator!=(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Condition is true,return from a call to operator!=,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_equal_to_bad, 4, NULL_DEREFERENCE, [start of procedure std_equal_to_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_bad, 4, NULL_DEREFERENCE, [start of procedure std_greater_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_equal_bad, 4, NULL_DEREFERENCE, [start of procedure std_greater_equal_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_less_bad, 4, NULL_DEREFERENCE, [start of procedure std_less_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_less_equal_bad, 4, NULL_DEREFERENCE, [start of procedure std_less_equal_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_not_equal_to_bad, 4, NULL_DEREFERENCE, [start of procedure std_not_equal_to_bad(),Condition is true] -codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_from, 3, DIVIDE_BY_ZERO, [start of procedure move::div0_moved_from(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] -codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_to, 3, DIVIDE_BY_ZERO, [start of procedure move::div0_moved_to(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] -codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null0_bad, 3, NULL_DEREFERENCE, [start of procedure pair::deref_pair_null0_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull] -codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null1_bad, 3, NULL_DEREFERENCE, [start of procedure pair::deref_pair_null1_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull] -codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null3_bad, 3, NULL_DEREFERENCE, [start of procedure pair::deref_pair_null3_bad(),start of procedure pair::pairOfZeroNull2(),return from a call to pair::pairOfZeroNull2] -codetoanalyze/cpp/errors/models/swap.cpp, swap_null_bad, 4, NULL_DEREFERENCE, [start of procedure swap_null_bad()] -codetoanalyze/cpp/errors/models/throw_wrapper.cpp, nothrow_if_null_bad, 4, NULL_DEREFERENCE, [start of procedure nothrow_if_null_bad(),start of procedure get_null(),return from a call to get_null,Condition is true,start of procedure do_nothing(),return from a call to do_nothing] -codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm1, 2, DOUBLE_LOCK, [start of procedure alarm1()] -codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm2, 2, DOUBLE_LOCK, [start of procedure alarm2()] -codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm2, 2, DOUBLE_LOCK, [start of procedure alarm2()] -codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm3, 6, DOUBLE_LOCK, [start of procedure alarm3(),Skipping mutex: function or method not found,Condition is true,Condition is true] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, LockMapBucket_bad_usage3, 2, PRECONDITION_NOT_MET, [start of procedure bad_usage3,start of procedure LpLockGuard,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is true,return from a call to detail::try_lock_impl,Condition is true,return from a call to lp_lock,return from a call to LpLockGuard_LpLockGuard] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage1, 3, PRECONDITION_NOT_MET, [start of procedure bad_usage1(),Skipping mutex: function or method not found,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is true,return from a call to detail::try_lock_impl,Condition is true,return from a call to lp_lock] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage2, 3, PRECONDITION_NOT_MET, [start of procedure bad_usage2(),Skipping mutex: function or method not found] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, lp_lock, 7, DOUBLE_LOCK, [start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is false,return from a call to detail::try_lock_impl,Condition is false,Condition is true,start of procedure detail::lock_impl(),return from a call to detail::lock_impl] -codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, alarm1, 2, DOUBLE_LOCK, [start of procedure alarm1()] -codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, try_lock_bad, 2, DOUBLE_LOCK, [start of procedure try_lock_bad()] -codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, try_lock_bad, 2, DOUBLE_LOCK, [start of procedure try_lock_bad()] -codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_field_deref, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_field_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_method_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref2, 2, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_null_method_deref2(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] -codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, NULL_DEREFERENCE, [start of procedure boxed_ptr::smart_ptr_result_method_null_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getNull,return from a call to boxed_ptr::X_getNull] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref2_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_nonzero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_nonzero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter2_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_nonzero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_nonzero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref2_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_zero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_zero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter2_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_zero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter_bad, 4, NULL_DEREFERENCE, [start of procedure cancellation_test::size_zero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe(),start of procedure npe_added_to_b1::deref_ref()] -codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe_person(),start of procedure Person,return from a call to npe_added_to_b1::Person_Person,start of procedure npe_added_to_b1::deref_person()] -codetoanalyze/cpp/errors/npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull] -codetoanalyze/cpp/errors/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] -codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip2_then_split_case_ok, 5, MEMORY_LEAK, [start of procedure FP_const_skip2_then_split_case_ok(),Skipping skip_const2(): function or method not found,start of procedure test_pointer(),Condition is true,return from a call to test_pointer] -codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip_then_split_case_ok, 6, MEMORY_LEAK, [start of procedure FP_const_skip_then_split_case_ok(),Skipping skip_const(): function or method not found,start of procedure test_pointer(),Condition is true,return from a call to test_pointer] -codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 2, MEMORY_LEAK, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found] -codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 4, NULL_DEREFERENCE, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] -codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 2, MEMORY_LEAK, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found] -codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 5, NULL_DEREFERENCE, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] -codetoanalyze/cpp/errors/numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, [start of procedure max_X_inv_div0(),start of procedure X_inv,return from a call to X_inv_X_inv,start of procedure X_inv,return from a call to X_inv_X_inv] -codetoanalyze/cpp/errors/numeric/min_max.cpp, max_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure max_int_div0()] -codetoanalyze/cpp/errors/numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, [start of procedure min_X_div0(),start of procedure X,return from a call to X_X,start of procedure X,return from a call to X_X] -codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure min_int_div0()] -codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] -codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling_TestDangling] -codetoanalyze/cpp/errors/pointers/unintialized.cpp, uninitialized_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure uninitialized_dangling_bad()] -codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, [start of procedure resource_leak(),Condition is false] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const1, 3, NULL_DEREFERENCE, [start of procedure test_const1()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const2, 2, NULL_DEREFERENCE, [start of procedure test_const2()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const3, 3, NULL_DEREFERENCE, [start of procedure test_const3()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const4, 2, NULL_DEREFERENCE, [start of procedure test_const4()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile1, 3, NULL_DEREFERENCE, [start of procedure test_volatile1()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile2, 2, NULL_DEREFERENCE, [start of procedure test_volatile2()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile3, 3, NULL_DEREFERENCE, [start of procedure test_volatile3()] -codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile4, 2, NULL_DEREFERENCE, [start of procedure test_volatile4()] -codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, [start of procedure deref_after_mode_example::deref_after_move_crash(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure access_age] -codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_ok, 3, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_after_move_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person___infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person_~Person] -codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_ok, 2, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure access_age,return from a call to deref_after_mode_example::Person_access_age,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person___infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person_~Person] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::aliasing_member_null_bad, 4, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::aliasing_member_null_bad(),start of procedure shared_ptr_constructors::aliasing_construct_from_internal(),start of procedure shared_ptr_constructors::internal_null_def(),Skipping shared_ptr_constructors::external_def(): function or method not found,return from a call to shared_ptr_constructors::internal_null_def,Condition is false,return from a call to shared_ptr_constructors::aliasing_construct_from_internal] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base2_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived1_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived2_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived3_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_derived3_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref2()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_method_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::nullptr_ptr_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref2()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 3, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 4, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref2()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 3, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 5, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_ok_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_copy_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 3, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_copy_ok_deref()] -codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::shared_ptr_move_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_array_ptr_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref2()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_method_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_array_ptr_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_ptr_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref2()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 4, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref2()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 5, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_ok_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_copy_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_move_null_deref()] -codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_move_ok_deref()] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseAssign_bad(),start of procedure weak_ptr_constructors::fromSharedBaseAssign(),return from a call to weak_ptr_constructors::fromSharedBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseConstr_bad(),start of procedure weak_ptr_constructors::fromSharedBaseConstr(),return from a call to weak_ptr_constructors::fromSharedBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedAssign(),return from a call to weak_ptr_constructors::fromSharedDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedConstr2(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr2,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedConstr(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseAssign_bad(),start of procedure weak_ptr_constructors::fromWeakBaseAssign(),return from a call to weak_ptr_constructors::fromWeakBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseConstr_bad(),start of procedure weak_ptr_constructors::fromWeakBaseConstr(),return from a call to weak_ptr_constructors::fromWeakBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad(),start of procedure weak_ptr_constructors::fromWeakDerivedAssign(),return from a call to weak_ptr_constructors::fromWeakDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad(),start of procedure weak_ptr_constructors::fromWeakDerivedConstr(),return from a call to weak_ptr_constructors::fromWeakDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::empty_weak_lock_returns_null_bad, 3, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::empty_weak_lock_returns_null_bad()] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_reset_bad, 5, expired after weak_ptr reset is true, [start of procedure weak_ptr_observers::expired_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_reset_bad] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_swap_bad, 6, expired after weak_ptr swap with empty is true, [start of procedure weak_ptr_observers::expired_after_swap_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_swap_bad] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_empty_bad, 5, expired on empty weak_ptr is true, [start of procedure weak_ptr_observers::expired_empty_bad(),Condition is true,return from a call to weak_ptr_observers::expired_empty_bad] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_means_null_bad, 3, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::expired_means_null_bad(),Condition is true] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::lock_can_be_null_bad, 2, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::lock_can_be_null_bad()] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::shared_still_in_scope_good_FP, 6, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::shared_still_in_scope_good_FP()] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_after_reset_bad, 5, use_count after weak_ptr reset is 0, [start of procedure weak_ptr_observers::use_count_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_after_reset_bad] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_empty_bad, 5, use_count on empty weak_ptr is 0, [start of procedure weak_ptr_observers::use_count_empty_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_empty_bad] -codetoanalyze/cpp/errors/smart_ptr/weak_ptr_compil.cpp, weak_ptr_lock_repro_large::RDC::create::lambda_smart_ptr_weak_ptr_compil.cpp:62:7_operator(), 2, Cannot_star, [start of procedure operator(),Condition is true,Skipping function: function or method not found] -codetoanalyze/cpp/errors/stack_escape/basic.cpp, B_return_ref, 0, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure return_ref,start of procedure A,return from a call to A_A,return from a call to B_return_ref] -codetoanalyze/cpp/errors/stack_escape/basic.cpp, basic_escape_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure basic_escape_local_bad(),return from a call to basic_escape_local_bad] -codetoanalyze/cpp/errors/stack_escape/basic.cpp, basic_escape_param_bad, 0, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure basic_escape_param_bad(),return from a call to basic_escape_param_bad] -codetoanalyze/cpp/errors/stack_escape/basic.cpp, escape_local_struct_member_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure escape_local_struct_member_bad(),start of procedure EscapeTest,return from a call to EscapeTest_EscapeTest,return from a call to escape_local_struct_member_bad] -codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] -codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_caller, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure nonstatic_local_caller(),start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] -codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Condition is false,return from a call to dynamic__cast::castOfArgumentPointer] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,Condition is false] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::BaseDerefNPE, 2, NULL_DEREFERENCE, [start of procedure implicit_cast_with_const::BaseDerefNPE(),start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,start of procedure implicit_cast_with_const::deref()] -codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::DerivedDerefNPE, 2, NULL_DEREFERENCE, [start of procedure implicit_cast_with_const::DerivedDerefNPE(),start of procedure Derived,start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,return from a call to implicit_cast_with_const::Derived_Derived,start of procedure implicit_cast_with_const::deref()] -codetoanalyze/cpp/errors/subtyping/subtyping_check.cpp, B_setFG, 4, DIVIDE_BY_ZERO, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Condition is true] -codetoanalyze/cpp/errors/templates/dependent_parent.cpp, instantiate_class_bad, 2, DIVIDE_BY_ZERO, [start of procedure instantiate_class_bad(),start of procedure X,return from a call to X_X,start of procedure x_y,start of procedure Y,start of procedure Z,return from a call to Z_Z,return from a call to X::Y_Y,start of procedure y,start of procedure z,return from a call to Z_z,return from a call to X::Y_y,return from a call to X_x_y] -codetoanalyze/cpp/errors/templates/mangling.cpp, bad_integral_types_templates, 4, DIVIDE_BY_ZERO, [start of procedure bad_integral_types_templates(),start of procedure IntTemplate,return from a call to IntTemplate<0>_IntTemplate,start of procedure CharTemplate,return from a call to CharTemplate<99>_CharTemplate,start of procedure LongTemplate,return from a call to LongTemplate<1234567890>_LongTemplate] -codetoanalyze/cpp/errors/templates/mangling.cpp, bad_nullptr_templates, 2, DIVIDE_BY_ZERO, [start of procedure bad_nullptr_templates(),start of procedure NullPtrTemplate,return from a call to NullPtrTemplate_NullPtrTemplate] -codetoanalyze/cpp/errors/templates/mangling.cpp, bad_packed_templates, 2, DIVIDE_BY_ZERO, [start of procedure bad_packed_templates(),start of procedure Tuple,return from a call to Tuple>_Tuple] -codetoanalyze/cpp/errors/templates/mangling.cpp, bad_reference_and_pointer_templates, 5, DIVIDE_BY_ZERO, [start of procedure bad_reference_and_pointer_templates(),start of procedure PointerTypeTemplate,return from a call to PointerTypeTemplate_PointerTypeTemplate,start of procedure PointerTypeTemplate2,return from a call to PointerTypeTemplate2_PointerTypeTemplate2,start of procedure FunctionPointerTemplate,return from a call to FunctionPointerTemplate_FunctionPointerTemplate,start of procedure ReferenceTypeTemplate,return from a call to ReferenceTypeTemplate_ReferenceTypeTemplate] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 3, MEMORY_LEAK, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 4, DIVIDE_BY_ZERO, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee,Condition is true] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 2, MEMORY_LEAK, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 3, DIVIDE_BY_ZERO, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person,Condition is true] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 3, MEMORY_LEAK, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 6, DIVIDE_BY_ZERO, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person,Condition is false] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 3, MEMORY_LEAK, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 4, MEMORY_LEAK, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person,Condition is false] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 2, MEMORY_LEAK, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Skipping template_typeid(): function or method not found] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Condition is false] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_typeid, 2, MEMORY_LEAK, [start of procedure template_typeid(),start of procedure Person,return from a call to Person_Person,start of procedure Person,return from a call to Person_Person,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to Person___infer_inner_destructor_~Person,return from a call to Person_~Person] -codetoanalyze/cpp/errors/vector/access_field_later.cpp, getIntPtr, 2, EMPTY_VECTOR_ACCESS, [start of procedure getIntPtr()] -codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithCopy, 2, EMPTY_VECTOR_ACCESS, [start of procedure getWithCopy()] -codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithCopyPtr, 2, EMPTY_VECTOR_ACCESS, [start of procedure getWithCopyPtr()] -codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithoutCopy, 2, EMPTY_VECTOR_ACCESS, [start of procedure getWithoutCopy()] -codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithoutCopyPtr, 2, EMPTY_VECTOR_ACCESS, [start of procedure getWithoutCopyPtr()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure access_empty()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty_back_bad, 2, EMPTY_VECTOR_ACCESS, [start of procedure access_empty_back_bad()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty_front_bad, 2, EMPTY_VECTOR_ACCESS, [start of procedure access_empty_front_bad()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, assign_empty, 4, EMPTY_VECTOR_ACCESS, [start of procedure assign_empty()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, clear_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure clear_empty()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, copy_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure copy_empty()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure empty_check_access_empty(),Condition is true] -codetoanalyze/cpp/errors/vector/empty_access.cpp, getter_empty, 0, EMPTY_VECTOR_ACCESS, [start of procedure getter_empty(),start of procedure get_vector(),Skipping ~vector: function or method not found,return from a call to get_vector] -codetoanalyze/cpp/errors/vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure size_check0_empty(),Condition is true] -codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_by_value_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_by_value_empty(),start of procedure vector_param_by_value_access(),return from a call to vector_param_by_value_access] -codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_clear, 3, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_clear(),start of procedure vector_param_clear(),return from a call to vector_param_clear] -codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure vector_as_param_empty(),start of procedure vector_param_access(),return from a call to vector_param_access] -codetoanalyze/cpp/errors/vector/iterator_access.cpp, iterator_access::possible_npe, 4, NULL_DEREFERENCE, [start of procedure iterator_access::possible_npe(),Condition is true,Condition is true,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref1_bad, 4, NULL_DEREFERENCE, [start of procedure iterator_compare::empty_deref1_bad(),start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref2_bad, 4, NULL_DEREFERENCE, [start of procedure iterator_compare::empty_deref2_bad(),start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref1_bad, 4, NULL_DEREFERENCE, [start of procedure iterator_compare::not_empty_deref1_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref2_bad, 4, NULL_DEREFERENCE, [start of procedure iterator_compare::not_empty_deref2_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Condition is true] -codetoanalyze/cpp/errors/vector/loop.cpp, non_empty_vector_loop_bad, 4, NULL_DEREFERENCE, [start of procedure non_empty_vector_loop_bad(),Condition is true] -codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg2_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg2_null_deref()] -codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg3_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] -codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg_null_deref()] -codetoanalyze/cpp/shared/attributes/annotate.cpp, getPtr_null_deref1, 3, NULL_DEREFERENCE, [start of procedure getPtr_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -codetoanalyze/cpp/shared/attributes/annotate.cpp, getPtr_null_deref2, 3, NULL_DEREFERENCE, [start of procedure getPtr_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -codetoanalyze/cpp/shared/attributes/annotate.cpp, getRef_null_deref1, 3, NULL_DEREFERENCE, [start of procedure getRef_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -codetoanalyze/cpp/shared/attributes/annotate.cpp, getRef_null_deref2, 3, NULL_DEREFERENCE, [start of procedure getRef_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -codetoanalyze/cpp/shared/attributes/annotate.cpp, operator_star_null_deref1, 3, NULL_DEREFERENCE, [start of procedure operator_star_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -codetoanalyze/cpp/shared/attributes/annotate.cpp, operator_star_null_deref2, 3, NULL_DEREFERENCE, [start of procedure operator_star_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] -codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_assign_conditional, 0, DIVIDE_BY_ZERO, [start of procedure div0_assign_conditional(),start of procedure assign_conditional(),Condition is false,return from a call to assign_conditional] -codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_choose_lvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_choose_lvalue(),start of procedure choose_lvalue(),Condition is true,return from a call to choose_lvalue] -codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_choose_rvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_choose_rvalue(),start of procedure choose_rvalue(),Condition is true,return from a call to choose_rvalue] -codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_temp_lvalue, 0, DIVIDE_BY_ZERO, [start of procedure div0_temp_lvalue(),start of procedure div_temp_lvalue(),Condition is true] -codetoanalyze/cpp/shared/constructors/constructor_init.cpp, delegate_constr_f2_div0, 3, DIVIDE_BY_ZERO, [start of procedure delegate_constr_f2_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] -codetoanalyze/cpp/shared/constructors/constructor_init.cpp, delegate_constr_f_div0, 3, DIVIDE_BY_ZERO, [start of procedure delegate_constr_f_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] -codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] -codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] -codetoanalyze/cpp/shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 1, MEMORY_LEAK, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, [start of procedure constructor_new::array_of_person_with_constant_size(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::float_init_number()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::float_init_number()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, MEMORY_LEAK, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array_init()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, MEMORY_LEAK, [start of procedure constructor_new::int_array_init()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list_new()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty_list_new()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_number()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_number()] -codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, MEMORY_LEAK, [start of procedure constructor_new::matrix_of_person(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] -codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] -codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] -codetoanalyze/cpp/shared/constructors/copy_array_field.cpp, copy_array_field::npe, 4, NULL_DEREFERENCE, [start of procedure copy_array_field::npe(),start of procedure X,return from a call to copy_array_field::X_X,start of procedure X,return from a call to copy_array_field::X_X] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyX_div0, 4, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::copyX_div0(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyY_div0, 4, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::copyY_div0(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveX_div0, 0, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveX_div0(),start of procedure copy_move_constructor::getX(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X,Skipping ~X: function or method not found,return from a call to copy_move_constructor::getX] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_div0, 0, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,Skipping ~Y: function or method not found,return from a call to copy_move_constructor::getY] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_moveY_copyY_div0, 3, DIVIDE_BY_ZERO, [start of procedure copy_move_constructor::moveY_moveY_copyY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,Skipping ~Y: function or method not found,return from a call to copy_move_constructor::getY,start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::assign_temp_div0, 2, DIVIDE_BY_ZERO, [start of procedure temp_object::assign_temp_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,start of procedure div] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_field_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::getX_field_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure temp_object::div()] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::getX_method_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure div] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_field2_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_field2_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_field_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_field_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure temp_object::temp_method_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure div] -codetoanalyze/cpp/shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, NULL_DEREFERENCE, [start of procedure call_deref_with_null(),start of procedure deref_null()] -codetoanalyze/cpp/shared/lambda/lambda1.cpp, bar, 5, DIVIDE_BY_ZERO, [start of procedure bar(),start of procedure ,return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_,start of procedure operator(),return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()] -codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo, 3, DIVIDE_BY_ZERO, [start of procedure foo(),start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:19:17_,start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_,start of procedure operator(),return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()] -codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo::lambda_shared_lambda_lambda1.cpp:19:17_operator(), 0, DIVIDE_BY_ZERO, [start of procedure operator()] -codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::branch_div0, 4, DIVIDE_BY_ZERO, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] -codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] -codetoanalyze/cpp/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, [start of procedure div0_class(),start of procedure fun] -codetoanalyze/cpp/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, [start of procedure div0_instance(),start of procedure fun] -codetoanalyze/cpp/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area] -codetoanalyze/cpp/shared/methods/virtual_methods.cpp, rect_area, 4, DIVIDE_BY_ZERO, [start of procedure rect_area(),start of procedure Rectangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Rectangle_Rectangle,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Rectangle_area] -codetoanalyze/cpp/shared/methods/virtual_methods.cpp, tri_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Triangle_area] -codetoanalyze/cpp/shared/methods/virtual_methods.cpp, tri_not_virtual_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_not_virtual_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Polygon_area] -codetoanalyze/cpp/shared/namespace/function.cpp, div0_namespace_resolution, 0, DIVIDE_BY_ZERO, [start of procedure div0_namespace_resolution(),start of procedure f1::get(),return from a call to f1::get,start of procedure f2::get(),return from a call to f2::get] -codetoanalyze/cpp/shared/namespace/function.cpp, div0_using, 2, DIVIDE_BY_ZERO, [start of procedure div0_using(),start of procedure f1::get0(),return from a call to f1::get0] -codetoanalyze/cpp/shared/namespace/function.cpp, type_alias_div0, 3, DIVIDE_BY_ZERO, [start of procedure type_alias_div0()] -codetoanalyze/cpp/shared/namespace/function.cpp, using_div0, 2, DIVIDE_BY_ZERO, [start of procedure using_div0(),start of procedure ret_zero,return from a call to f3::C_ret_zero] -codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_namepace_res, 3, DIVIDE_BY_ZERO, [start of procedure div0_namepace_res()] -codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_static_field, 3, DIVIDE_BY_ZERO, [start of procedure div0_static_field()] -codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_static_field_member_access, 3, DIVIDE_BY_ZERO, [start of procedure div0_static_field_member_access()] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, conditional_init_div0, 2, DIVIDE_BY_ZERO, [start of procedure conditional_init_div0(),Condition is true,Condition is true] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVIDE_BY_ZERO, [start of procedure function_call_init_div0(),start of procedure get1(),return from a call to get1,Condition is true] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_init_div0(),Condition is true] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_inif_elseif_div0, 6, DIVIDE_BY_ZERO, [start of procedure simple_inif_elseif_div0(),Condition is false,Condition is false] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, [start of procedure simple_init_div0(),Condition is false] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, [start of procedure simple_init_null_deref(),Condition is false] -codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call, 2, NULL_DEREFERENCE, [start of procedure npe_call()] -codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call_after_call, 0, NULL_DEREFERENCE, [start of procedure npe_call_after_call(),start of procedure getX(),return from a call to getX] -codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call_with_forward_declaration, 1, NULL_DEREFERENCE, [start of procedure npe_call_with_forward_declaration(),start of procedure call_with_forward_declaration()] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getF,return from a call to reference_field::Ptr_getF] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ptr_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getI,return from a call to reference_field::Ptr_getI] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getF,return from a call to reference_field::Ref_getF] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::ref_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getI,return from a call to reference_field::Ref_getI] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_F_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_I_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_getF_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getF,return from a call to reference_field::Val_getF] -codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_getI_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_field::val_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getI,return from a call to reference_field::Val_getI] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ptr, 3, DIVIDE_BY_ZERO, [start of procedure field_div0_ptr(),Condition is true,start of procedure set_field_ptr(),return from a call to set_field_ptr,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ref, 2, DIVIDE_BY_ZERO, [start of procedure field_div0_ref(),start of procedure set_field_ref(),return from a call to set_field_ref,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_field, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ptr_div0_field(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_method, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ptr_div0_method(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure zero,return from a call to X_zero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_field, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ref_div0_field(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_method, 3, DIVIDE_BY_ZERO, [start of procedure get_global_ref_div0_method(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure zero,return from a call to X_zero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ptr, 3, DIVIDE_BY_ZERO, [start of procedure method_div0_ptr(),Condition is true,start of procedure zero_ptr(),start of procedure zero,return from a call to X_zero,return from a call to zero_ptr,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ref, 2, DIVIDE_BY_ZERO, [start of procedure method_div0_ref(),start of procedure zero_ref(),start of procedure zero,return from a call to X_zero,return from a call to zero_ref,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0, 4, DIVIDE_BY_ZERO, [start of procedure ptr_div0()] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0_function, 3, DIVIDE_BY_ZERO, [start of procedure ptr_div0_function(),start of procedure zero_ptr(),return from a call to zero_ptr] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0_function_temp_var, 4, DIVIDE_BY_ZERO, [start of procedure ptr_div0_function_temp_var(),start of procedure zero_ptr(),return from a call to zero_ptr] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0, 4, DIVIDE_BY_ZERO, [start of procedure ref_div0()] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0_function, 3, DIVIDE_BY_ZERO, [start of procedure ref_div0_function(),start of procedure zero_ref(),return from a call to zero_ref] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0_function_temp_var, 4, DIVIDE_BY_ZERO, [start of procedure ref_div0_function_temp_var(),start of procedure zero_ref(),return from a call to zero_ref] -codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0_nested_assignment, 6, DIVIDE_BY_ZERO, [start of procedure ref_div0_nested_assignment()] -codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp, div0_function_param_cast, 0, DIVIDE_BY_ZERO, [start of procedure div0_function_param_cast(),start of procedure div()] -codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp, div0_init_expr, 2, DIVIDE_BY_ZERO, [start of procedure div0_init_expr(),start of procedure div()] -codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp, div0_no_const_ref, 2, DIVIDE_BY_ZERO, [start of procedure div0_no_const_ref(),start of procedure div()] -codetoanalyze/cpp/shared/templates/class_specialization.cpp, class_specialization::foo_int, 3, DIVIDE_BY_ZERO, [start of procedure class_specialization::foo_int(),start of procedure Derived,start of procedure Base,return from a call to class_specialization::Base_Base,return from a call to class_specialization::Derived_Derived,start of procedure foo,return from a call to class_specialization::Derived_foo] -codetoanalyze/cpp/shared/templates/class_specialization.cpp, class_specialization::foo_intptr, 3, NULL_DEREFERENCE, [start of procedure class_specialization::foo_intptr(),start of procedure Derived,start of procedure Base,return from a call to class_specialization::Base_Base,return from a call to class_specialization::Derived_Derived,start of procedure foo2,return from a call to class_specialization::Derived_foo2] -codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, ExecStore_call_div, 2, DIVIDE_BY_ZERO, [start of procedure call_div,start of procedure div] -codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, choose1_div0, 0, DIVIDE_BY_ZERO, [start of procedure choose1_div0(),start of procedure call_div,start of procedure div] -codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, choose2_div0_extra, 0, DIVIDE_BY_ZERO, [start of procedure choose2_div0_extra(),start of procedure extra] -codetoanalyze/cpp/shared/templates/function.cpp, function::createAndDiv, 1, DIVIDE_BY_ZERO, [start of procedure function::createAndDiv(),start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] -codetoanalyze/cpp/shared/templates/function.cpp, function::div0_create_and_get_val, 1, DIVIDE_BY_ZERO, [start of procedure function::div0_create_and_get_val(),start of procedure function::createAndGetVal(),start of procedure X1,return from a call to function::X1_X1,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,return from a call to function::createAndGetVal,start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] -codetoanalyze/cpp/shared/templates/function.cpp, function::div0_get_val, 3, DIVIDE_BY_ZERO, [start of procedure function::div0_get_val(),start of procedure X1,return from a call to function::X1_X1,start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_10args, 0, DIVIDE_BY_ZERO, [start of procedure div0_10args()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_1arg, 0, DIVIDE_BY_ZERO, [start of procedure div0_1arg(),start of procedure div()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args1, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args1()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args2, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args2()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args3, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args3(),start of procedure div(),start of procedure div(),start of procedure div()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args4, 0, DIVIDE_BY_ZERO, [start of procedure div0_3args4(),start of procedure div(),start of procedure div(),start of procedure div()] -codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter, 3, DIVIDE_BY_ZERO, [start of procedure method::div0_getter(),start of procedure X2,return from a call to method::X2_X2,start of procedure Getter,return from a call to method::Getter_Getter,start of procedure get,start of procedure get,return from a call to method::X2_get,return from a call to method::Getter_get] -codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter_templ, 4, DIVIDE_BY_ZERO, [start of procedure method::div0_getter_templ(),start of procedure X2,return from a call to method::X2_X2,start of procedure X3,return from a call to method::X3_X3,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X3_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] -codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter_templ2, 4, DIVIDE_BY_ZERO, [start of procedure method::div0_getter_templ2(),start of procedure X2,return from a call to method::X2_X2,start of procedure X2,return from a call to method::X2_X2,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X2_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] -codetoanalyze/cpp/shared/types/const.cpp, call_const_params_with_pointer1, 2, NULL_DEREFERENCE, [start of procedure call_const_params_with_pointer1(),start of procedure const_in_param1()] -codetoanalyze/cpp/shared/types/const.cpp, call_const_params_with_pointer2, 2, NULL_DEREFERENCE, [start of procedure call_const_params_with_pointer2(),start of procedure const_in_param2()] -codetoanalyze/cpp/shared/types/const.cpp, call_const_params_with_pointer3, 2, NULL_DEREFERENCE, [start of procedure call_const_params_with_pointer3(),start of procedure const_in_param2()] -codetoanalyze/cpp/shared/types/inheritance_casts.cpp, inheritance_casts::div0_A, 0, DIVIDE_BY_ZERO, [start of procedure inheritance_casts::div0_A(),start of procedure inheritance_casts::getA(),start of procedure A,return from a call to inheritance_casts::A_A,start of procedure A,return from a call to inheritance_casts::A_A,Skipping ~A: function or method not found,return from a call to inheritance_casts::getA,start of procedure inheritance_casts::div()] -codetoanalyze/cpp/shared/types/inheritance_casts.cpp, inheritance_casts::div0_B, 0, DIVIDE_BY_ZERO, [start of procedure inheritance_casts::div0_B(),start of procedure inheritance_casts::getB(),start of procedure B,start of procedure A,return from a call to inheritance_casts::A_A,return from a call to inheritance_casts::B_B,start of procedure B,start of procedure A,return from a call to inheritance_casts::A_A,return from a call to inheritance_casts::B_B,Skipping ~B: function or method not found,return from a call to inheritance_casts::getB,start of procedure inheritance_casts::div()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_b1, 2, DIVIDE_BY_ZERO, [start of procedure div0_b1()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_b1_s, 3, DIVIDE_BY_ZERO, [start of procedure div0_b1_s()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_b2, 2, DIVIDE_BY_ZERO, [start of procedure div0_b2()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_cast, 3, DIVIDE_BY_ZERO, [start of procedure div0_cast()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_cast_ref, 3, DIVIDE_BY_ZERO, [start of procedure div0_cast_ref()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_s, 2, DIVIDE_BY_ZERO, [start of procedure div0_s()] -codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_s_b1, 3, DIVIDE_BY_ZERO, [start of procedure div0_s_b1()] -codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_function_op, 3, DIVIDE_BY_ZERO, [start of procedure div0_function_op(),start of procedure operator*(),return from a call to operator*] -codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_inheritted_op, 2, DIVIDE_BY_ZERO, [start of procedure div0_inheritted_op(),start of procedure operator[],return from a call to X_operator[]] -codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method, 3, DIVIDE_BY_ZERO, [start of procedure div0_method(),start of procedure operator[],return from a call to X_operator[]] -codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op, 3, DIVIDE_BY_ZERO, [start of procedure div0_method_op(),start of procedure operator[],return from a call to X_operator[]] -codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op_ptr, 0, DIVIDE_BY_ZERO, [start of procedure div0_method_op_ptr(),start of procedure operator[],return from a call to X_operator[]] -codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_div0, 2, DIVIDE_BY_ZERO, [start of procedure return_struct::get_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,start of procedure X,return from a call to return_struct::X_X] -codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,Skipping skip: function or method not found,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get] -codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_method_div0, 0, DIVIDE_BY_ZERO, [start of procedure return_struct::get_method_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,start of procedure div] -codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,Condition is false,start of procedure getF,return from a call to struct_forward_declare::X_getF] -codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,start of procedure getF,return from a call to struct_forward_declare::X_getF] -codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_ptr_div0, 2, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::X_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::X_getF] -codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::Z_div0(),start of procedure Z,return from a call to struct_forward_declare::Z_Z,start of procedure getF,return from a call to struct_forward_declare::Z_getF] -codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_ptr_div0, 5, DIVIDE_BY_ZERO, [start of procedure struct_forward_declare::Z_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::Z_getF] -codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::field_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::field_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure Y,start of procedure X,return from a call to struct_pass_by_value::X_X,return from a call to struct_pass_by_value::Y_Y,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] -codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::param_get_copied_div0, 3, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::param_get_copied_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::set_f(),return from a call to struct_pass_by_value::set_f] -codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::temp_div0, 0, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::temp_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] -codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::var_div0, 2, DIVIDE_BY_ZERO, [start of procedure struct_pass_by_value::var_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] +INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::operator!=<65d659492edc5cb5>, 1, Abduction_case_not_implemented, ERROR, [start of procedure std::operator!=<65d659492edc5cb5>()] +INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::unique_ptr>___infer_inner_destructor_~unique_ptr, 0, Missing_fld, ERROR, [start of procedure __infer_inner_destructor_~unique_ptr,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer] +INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::unique_ptr>___infer_inner_destructor_~unique_ptr, 0, Missing_fld, ERROR, [start of procedure __infer_inner_destructor_~unique_ptr,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer,start of procedure Pointer,return from a call to unique_ptr_with_deleter::Pointer_Pointer] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, ERROR, [start of procedure crash_fgetc()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, ERROR, [start of procedure crash_getc()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_fail_gets_reported, 2, NULL_DEREFERENCE, ERROR, [start of procedure malloc_fail_gets_reported()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, ERROR, [start of procedure malloc_memory_leak_is_reported()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, NULL_DEREFERENCE, ERROR, [start of procedure memcpy_spec_is_found()] +codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, ERROR, [start of procedure resource_leak_is_reported()] +codetoanalyze/cpp/errors/include_header/header.h, header::A_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0] +codetoanalyze/cpp/errors/include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure header::div0_fun()] +codetoanalyze/cpp/errors/include_header/header2.h, header2::B_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0] +codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ, 1, DIVIDE_BY_ZERO, ERROR, [start of procedure header2::div0_templ()] +codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 4, MEMORY_LEAK, ERROR, [start of procedure leak()] +codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, ERROR, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle_Rectangle] +codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, ERROR, [start of procedure memory_leak()] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe1_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_strong_possible_npe1_bad(),Condition is true,Condition is true,Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe2_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_strong_possible_npe2_bad(),Condition is true,Condition is true,Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe1_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_weak_possible_npe1_bad(),Condition is true,Condition is true,Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe2_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_weak_possible_npe2_bad(),Condition is true,Condition is true,Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::exchange_possible_npe_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::exchange_possible_npe_bad(),Condition is true,Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::is_zero_possible_npe_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::is_zero_possible_npe_bad(),start of procedure A,return from a call to atomic_test::A_A,start of procedure add,return from a call to atomic_test::A_add,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure is_zero,Condition is true,return from a call to atomic_test::A_is_zero,Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::load_store_possible_npe_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::load_store_possible_npe_bad(),Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::not_zero_possible_npe_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::not_zero_possible_npe_bad(),start of procedure A,return from a call to atomic_test::A_A,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure is_zero,Condition is false,return from a call to atomic_test::A_is_zero,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_eq_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_eq_bad(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_ge_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_ge_bad(),start of procedure operator>=(),start of procedure operator<(),Condition is false,Condition is false,Condition is false,return from a call to operator<,Condition is false,return from a call to operator>=,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_gt_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_gt_bad(),start of procedure operator>(),start of procedure operator<(),Condition is false,Condition is false,Condition is true,return from a call to operator<,return from a call to operator>,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_le_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_le_bad(),start of procedure operator<=(),start of procedure operator<(),Condition is false,Condition is false,Condition is false,return from a call to operator<,Condition is false,return from a call to operator<=,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_lt_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_lt_bad(),start of procedure operator<(),Condition is false,Condition is false,Condition is true,return from a call to operator<,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_neq_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_neq_bad(),start of procedure operator!=(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Condition is true,return from a call to operator!=,Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, std_equal_to_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_equal_to_bad(),Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_greater_bad(),Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_equal_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_greater_equal_bad(),Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, std_less_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_less_bad(),Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, std_less_equal_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_less_equal_bad(),Condition is true] +codetoanalyze/cpp/errors/models/cmp.cpp, std_not_equal_to_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_not_equal_to_bad(),Condition is true] +codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_from, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure move::div0_moved_from(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] +codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_to, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure move::div0_moved_to(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] +codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null0_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure pair::deref_pair_null0_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull] +codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null1_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure pair::deref_pair_null1_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull] +codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null3_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure pair::deref_pair_null3_bad(),start of procedure pair::pairOfZeroNull2(),return from a call to pair::pairOfZeroNull2] +codetoanalyze/cpp/errors/models/swap.cpp, swap_null_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure swap_null_bad()] +codetoanalyze/cpp/errors/models/throw_wrapper.cpp, nothrow_if_null_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure nothrow_if_null_bad(),start of procedure get_null(),return from a call to get_null,Condition is true,start of procedure do_nothing(),return from a call to do_nothing] +codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm1, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm1()] +codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm2, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm2()] +codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm2, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm2()] +codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm3, 6, DOUBLE_LOCK, ERROR, [start of procedure alarm3(),Skipping mutex: function or method not found,Condition is true,Condition is true] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, LockMapBucket_bad_usage3, 2, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage3,start of procedure LpLockGuard,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is true,return from a call to detail::try_lock_impl,Condition is true,return from a call to lp_lock,return from a call to LpLockGuard_LpLockGuard] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage1, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage1(),Skipping mutex: function or method not found,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is true,return from a call to detail::try_lock_impl,Condition is true,return from a call to lp_lock] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage2, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage2(),Skipping mutex: function or method not found] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, lp_lock, 7, DOUBLE_LOCK, ERROR, [start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is false,return from a call to detail::try_lock_impl,Condition is false,Condition is true,start of procedure detail::lock_impl(),return from a call to detail::lock_impl] +codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, alarm1, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm1()] +codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, try_lock_bad, 2, DOUBLE_LOCK, ERROR, [start of procedure try_lock_bad()] +codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, try_lock_bad, 2, DOUBLE_LOCK, ERROR, [start of procedure try_lock_bad()] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_field_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_null_field_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_null_method_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref2, 2, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_null_method_deref2(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] +codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_result_method_null_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getNull,return from a call to boxed_ptr::X_getNull] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] +codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2, NULL_DEREFERENCE, ERROR, [start of procedure npe_added_to_b1::causes_npe(),start of procedure npe_added_to_b1::deref_ref()] +codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, ERROR, [start of procedure npe_added_to_b1::causes_npe_person(),start of procedure Person,return from a call to npe_added_to_b1::Person_Person,start of procedure npe_added_to_b1::deref_person()] +codetoanalyze/cpp/errors/npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, ERROR, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull] +codetoanalyze/cpp/errors/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, ERROR, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip2_then_split_case_ok, 5, MEMORY_LEAK, ERROR, [start of procedure FP_const_skip2_then_split_case_ok(),Skipping skip_const2(): function or method not found,start of procedure test_pointer(),Condition is true,return from a call to test_pointer] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip_then_split_case_ok, 6, MEMORY_LEAK, ERROR, [start of procedure FP_const_skip_then_split_case_ok(),Skipping skip_const(): function or method not found,start of procedure test_pointer(),Condition is true,return from a call to test_pointer] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 2, MEMORY_LEAK, ERROR, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 4, NULL_DEREFERENCE, ERROR, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 2, MEMORY_LEAK, ERROR, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found] +codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] +codetoanalyze/cpp/errors/numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure max_X_inv_div0(),start of procedure X_inv,return from a call to X_inv_X_inv,start of procedure X_inv,return from a call to X_inv_X_inv] +codetoanalyze/cpp/errors/numeric/min_max.cpp, max_int_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure max_int_div0()] +codetoanalyze/cpp/errors/numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure min_X_div0(),start of procedure X,return from a call to X_X,start of procedure X,return from a call to X_X] +codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure min_int_div0()] +codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] +codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, ERROR, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling_TestDangling] +codetoanalyze/cpp/errors/pointers/unintialized.cpp, uninitialized_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, ERROR, [start of procedure uninitialized_dangling_bad()] +codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, ERROR, [start of procedure resource_leak(),Condition is false] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const1, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_const1()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_const2()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const3, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_const3()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const4, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_const4()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile1, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_volatile1()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_volatile2()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile3, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_volatile3()] +codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile4, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_volatile4()] +codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, ERROR, [start of procedure deref_after_mode_example::deref_after_move_crash(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure access_age] +codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_ok, 3, MEMORY_LEAK, ERROR, [start of procedure deref_after_mode_example::deref_after_move_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person___infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person_~Person] +codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_ok, 2, MEMORY_LEAK, ERROR, [start of procedure deref_after_mode_example::deref_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure access_age,return from a call to deref_after_mode_example::Person_access_age,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person___infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person_~Person] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::aliasing_member_null_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::aliasing_member_null_bad(),start of procedure shared_ptr_constructors::aliasing_construct_from_internal(),start of procedure shared_ptr_constructors::internal_null_def(),Skipping shared_ptr_constructors::external_def(): function or method not found,return from a call to shared_ptr_constructors::internal_null_def,Condition is false,return from a call to shared_ptr_constructors::aliasing_construct_from_internal] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_base1_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_base1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_null_f1_deref, 6, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_base2_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_nullptr_deref, 0, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_base2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_null_f1_deref, 6, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_derived1_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_nullptr_deref, 0, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_derived1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived1(),return from a call to shared_ptr_constructors::getFromDerived1] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_null_f1_deref, 6, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_derived2_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_nullptr_deref, 0, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_derived2_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived2(),return from a call to shared_ptr_constructors::getFromDerived2] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_null_f1_deref, 6, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_derived3_null_f1_deref(),start of procedure Derived,start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,return from a call to shared_ptr_constructors::Derived_Derived,start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_nullptr_deref, 0, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_derived3_nullptr_deref(),start of procedure shared_ptr_constructors::getFromDerived3(),return from a call to shared_ptr_constructors::getFromDerived3] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::empty_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::empty_ptr_field_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::empty_ptr_field_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::empty_ptr_method_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::nullptr_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 3, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::reset_ptr_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 4, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::reset_ptr_ok_deref2()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 3, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 5, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::shared_ptr_assign_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_null_deref, 3, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::shared_ptr_copy_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 3, MEMORY_LEAK, ERROR, [start of procedure shared_ptr::shared_ptr_copy_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_move_null_deref, 3, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr::shared_ptr_move_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_array_ptr_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::empty_array_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::empty_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::empty_ptr_field_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::empty_ptr_field_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::empty_ptr_method_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_array_ptr_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::nullptr_array_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::nullptr_ptr_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::reset_ptr_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::reset_ptr_null_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 3, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::reset_ptr_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 4, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::reset_ptr_ok_deref2()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 3, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 5, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::unique_ptr_assign_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::unique_ptr_copy_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, NULL_DEREFERENCE, ERROR, [start of procedure unique_ptr::unique_ptr_move_null_deref()] +codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, MEMORY_LEAK, ERROR, [start of procedure unique_ptr::unique_ptr_move_ok_deref()] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseAssign_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseAssign_bad(),start of procedure weak_ptr_constructors::fromSharedBaseAssign(),return from a call to weak_ptr_constructors::fromSharedBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseConstr_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseConstr_bad(),start of procedure weak_ptr_constructors::fromSharedBaseConstr(),return from a call to weak_ptr_constructors::fromSharedBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedAssign(),return from a call to weak_ptr_constructors::fromSharedDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedConstr2(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr2,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedConstr(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseAssign_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseAssign_bad(),start of procedure weak_ptr_constructors::fromWeakBaseAssign(),return from a call to weak_ptr_constructors::fromWeakBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseConstr_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseConstr_bad(),start of procedure weak_ptr_constructors::fromWeakBaseConstr(),return from a call to weak_ptr_constructors::fromWeakBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad(),start of procedure weak_ptr_constructors::fromWeakDerivedAssign(),return from a call to weak_ptr_constructors::fromWeakDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad(),start of procedure weak_ptr_constructors::fromWeakDerivedConstr(),return from a call to weak_ptr_constructors::fromWeakDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::empty_weak_lock_returns_null_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_observers::empty_weak_lock_returns_null_bad()] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_reset_bad, 5, expired after weak_ptr reset is true, ERROR, [start of procedure weak_ptr_observers::expired_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_reset_bad] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_swap_bad, 6, expired after weak_ptr swap with empty is true, ERROR, [start of procedure weak_ptr_observers::expired_after_swap_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_swap_bad] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_empty_bad, 5, expired on empty weak_ptr is true, ERROR, [start of procedure weak_ptr_observers::expired_empty_bad(),Condition is true,return from a call to weak_ptr_observers::expired_empty_bad] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_means_null_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_observers::expired_means_null_bad(),Condition is true] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::lock_can_be_null_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_observers::lock_can_be_null_bad()] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::shared_still_in_scope_good_FP, 6, NULL_DEREFERENCE, ERROR, [start of procedure weak_ptr_observers::shared_still_in_scope_good_FP()] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_after_reset_bad, 5, use_count after weak_ptr reset is 0, ERROR, [start of procedure weak_ptr_observers::use_count_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_after_reset_bad] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_empty_bad, 5, use_count on empty weak_ptr is 0, ERROR, [start of procedure weak_ptr_observers::use_count_empty_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_empty_bad] +codetoanalyze/cpp/errors/smart_ptr/weak_ptr_compil.cpp, weak_ptr_lock_repro_large::RDC::create::lambda_smart_ptr_weak_ptr_compil.cpp:62:7_operator(), 2, Cannot_star, ERROR, [start of procedure operator(),Condition is true,Skipping function: function or method not found] +codetoanalyze/cpp/errors/stack_escape/basic.cpp, B_return_ref, 0, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure return_ref,start of procedure A,return from a call to A_A,return from a call to B_return_ref] +codetoanalyze/cpp/errors/stack_escape/basic.cpp, basic_escape_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure basic_escape_local_bad(),return from a call to basic_escape_local_bad] +codetoanalyze/cpp/errors/stack_escape/basic.cpp, basic_escape_param_bad, 0, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure basic_escape_param_bad(),return from a call to basic_escape_param_bad] +codetoanalyze/cpp/errors/stack_escape/basic.cpp, escape_local_struct_member_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure escape_local_struct_member_bad(),start of procedure EscapeTest,return from a call to EscapeTest_EscapeTest,return from a call to escape_local_struct_member_bad] +codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] +codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_caller, 2, DANGLING_POINTER_DEREFERENCE, ERROR, [start of procedure nonstatic_local_caller(),start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] +codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, ERROR, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Condition is false,return from a call to dynamic__cast::castOfArgumentPointer] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,Condition is false] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, ERROR, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, ERROR, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base] +codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::BaseDerefNPE, 2, NULL_DEREFERENCE, ERROR, [start of procedure implicit_cast_with_const::BaseDerefNPE(),start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,start of procedure implicit_cast_with_const::deref()] +codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::DerivedDerefNPE, 2, NULL_DEREFERENCE, ERROR, [start of procedure implicit_cast_with_const::DerivedDerefNPE(),start of procedure Derived,start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,return from a call to implicit_cast_with_const::Derived_Derived,start of procedure implicit_cast_with_const::deref()] +codetoanalyze/cpp/errors/subtyping/subtyping_check.cpp, B_setFG, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Condition is true] +codetoanalyze/cpp/errors/templates/dependent_parent.cpp, instantiate_class_bad, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure instantiate_class_bad(),start of procedure X,return from a call to X_X,start of procedure x_y,start of procedure Y,start of procedure Z,return from a call to Z_Z,return from a call to X::Y_Y,start of procedure y,start of procedure z,return from a call to Z_z,return from a call to X::Y_y,return from a call to X_x_y] +codetoanalyze/cpp/errors/templates/mangling.cpp, bad_integral_types_templates, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_integral_types_templates(),start of procedure IntTemplate,return from a call to IntTemplate<0>_IntTemplate,start of procedure CharTemplate,return from a call to CharTemplate<99>_CharTemplate,start of procedure LongTemplate,return from a call to LongTemplate<1234567890>_LongTemplate] +codetoanalyze/cpp/errors/templates/mangling.cpp, bad_nullptr_templates, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_nullptr_templates(),start of procedure NullPtrTemplate,return from a call to NullPtrTemplate_NullPtrTemplate] +codetoanalyze/cpp/errors/templates/mangling.cpp, bad_packed_templates, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_packed_templates(),start of procedure Tuple,return from a call to Tuple>_Tuple] +codetoanalyze/cpp/errors/templates/mangling.cpp, bad_reference_and_pointer_templates, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_reference_and_pointer_templates(),start of procedure PointerTypeTemplate,return from a call to PointerTypeTemplate_PointerTypeTemplate,start of procedure PointerTypeTemplate2,return from a call to PointerTypeTemplate2_PointerTypeTemplate2,start of procedure FunctionPointerTemplate,return from a call to FunctionPointerTemplate_FunctionPointerTemplate,start of procedure ReferenceTypeTemplate,return from a call to ReferenceTypeTemplate_ReferenceTypeTemplate] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 3, MEMORY_LEAK, ERROR, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee,Condition is true] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 2, MEMORY_LEAK, ERROR, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person,Condition is true] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 3, MEMORY_LEAK, ERROR, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 3, MEMORY_LEAK, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 4, MEMORY_LEAK, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 2, MEMORY_LEAK, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Skipping template_typeid(): function or method not found] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_typeid, 2, MEMORY_LEAK, ERROR, [start of procedure template_typeid(),start of procedure Person,return from a call to Person_Person,start of procedure Person,return from a call to Person_Person,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to Person___infer_inner_destructor_~Person,return from a call to Person_~Person] +codetoanalyze/cpp/errors/vector/access_field_later.cpp, getIntPtr, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getIntPtr()] +codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithCopy, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getWithCopy()] +codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithCopyPtr, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getWithCopyPtr()] +codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithoutCopy, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getWithoutCopy()] +codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithoutCopyPtr, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getWithoutCopyPtr()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure access_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty_back_bad, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure access_empty_back_bad()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty_front_bad, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure access_empty_front_bad()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, assign_empty, 4, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure assign_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, clear_empty, 3, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure clear_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, copy_empty, 3, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure copy_empty()] +codetoanalyze/cpp/errors/vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure empty_check_access_empty(),Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, getter_empty, 0, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getter_empty(),start of procedure get_vector(),Skipping ~vector: function or method not found,return from a call to get_vector] +codetoanalyze/cpp/errors/vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure size_check0_empty(),Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_by_value_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure vector_as_param_by_value_empty(),start of procedure vector_param_by_value_access(),return from a call to vector_param_by_value_access] +codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_clear, 3, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure vector_as_param_clear(),start of procedure vector_param_clear(),return from a call to vector_param_clear] +codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure vector_as_param_empty(),start of procedure vector_param_access(),return from a call to vector_param_access] +codetoanalyze/cpp/errors/vector/iterator_access.cpp, iterator_access::possible_npe, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_access::possible_npe(),Condition is true,Condition is true,Condition is true] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref1_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::empty_deref1_bad(),start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Condition is true] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::empty_deref2_bad(),start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Condition is true] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref1_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::not_empty_deref1_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Condition is true] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::not_empty_deref2_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Condition is true] +codetoanalyze/cpp/errors/vector/loop.cpp, non_empty_vector_loop_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure non_empty_vector_loop_bad(),Condition is true] +codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg2_null_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefFirstArg2_null_deref()] +codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg3_null_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] +codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg_null_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefFirstArg_null_deref()] +codetoanalyze/cpp/shared/attributes/annotate.cpp, getPtr_null_deref1, 3, NULL_DEREFERENCE, ERROR, [start of procedure getPtr_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/shared/attributes/annotate.cpp, getPtr_null_deref2, 3, NULL_DEREFERENCE, ERROR, [start of procedure getPtr_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/shared/attributes/annotate.cpp, getRef_null_deref1, 3, NULL_DEREFERENCE, ERROR, [start of procedure getRef_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/shared/attributes/annotate.cpp, getRef_null_deref2, 3, NULL_DEREFERENCE, ERROR, [start of procedure getRef_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/shared/attributes/annotate.cpp, operator_star_null_deref1, 3, NULL_DEREFERENCE, ERROR, [start of procedure operator_star_null_deref1(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/shared/attributes/annotate.cpp, operator_star_null_deref2, 3, NULL_DEREFERENCE, ERROR, [start of procedure operator_star_null_deref2(),start of procedure TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr,return from a call to TranslateAsPtr_TranslateAsPtr,start of procedure setPtr,return from a call to TranslateAsPtr_setPtr] +codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_assign_conditional, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_assign_conditional(),start of procedure assign_conditional(),Condition is false,return from a call to assign_conditional] +codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_choose_lvalue, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_choose_lvalue(),start of procedure choose_lvalue(),Condition is true,return from a call to choose_lvalue] +codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_choose_rvalue, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_choose_rvalue(),start of procedure choose_rvalue(),Condition is true,return from a call to choose_rvalue] +codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp, div0_temp_lvalue, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_temp_lvalue(),start of procedure div_temp_lvalue(),Condition is true] +codetoanalyze/cpp/shared/constructors/constructor_init.cpp, delegate_constr_f2_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure delegate_constr_f2_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] +codetoanalyze/cpp/shared/constructors/constructor_init.cpp, delegate_constr_f_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure delegate_constr_f_div0(),start of procedure B,start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B,return from a call to B_B] +codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] +codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] +codetoanalyze/cpp/shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 1, MEMORY_LEAK, ERROR, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, ERROR, [start of procedure constructor_new::array_of_person_with_constant_size(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, MEMORY_LEAK, ERROR, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::float_init_number()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::float_init_number()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_array_init()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_array_init()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_init_empty()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_init_empty()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_init_empty_list()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_init_empty_list_new()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_init_empty_list_new()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_new::int_init_number()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::int_init_number()] +codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, MEMORY_LEAK, ERROR, [start of procedure constructor_new::matrix_of_person(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] +codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] +codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] +codetoanalyze/cpp/shared/constructors/copy_array_field.cpp, copy_array_field::npe, 4, NULL_DEREFERENCE, ERROR, [start of procedure copy_array_field::npe(),start of procedure X,return from a call to copy_array_field::X_X,start of procedure X,return from a call to copy_array_field::X_X] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyX_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure copy_move_constructor::copyX_div0(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyY_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure copy_move_constructor::copyY_div0(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveX_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure copy_move_constructor::moveX_div0(),start of procedure copy_move_constructor::getX(),start of procedure X,return from a call to copy_move_constructor::X_X,start of procedure X,return from a call to copy_move_constructor::X_X,Skipping ~X: function or method not found,return from a call to copy_move_constructor::getX] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure copy_move_constructor::moveY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,Skipping ~Y: function or method not found,return from a call to copy_move_constructor::getY] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_moveY_copyY_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure copy_move_constructor::moveY_moveY_copyY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y,Skipping ~Y: function or method not found,return from a call to copy_move_constructor::getY,start of procedure Y,return from a call to copy_move_constructor::Y_Y,start of procedure Y,return from a call to copy_move_constructor::Y_Y] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::assign_temp_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure temp_object::assign_temp_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,start of procedure div] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_field_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure temp_object::getX_field_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure temp_object::div()] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure temp_object::getX_method_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X_X,start of procedure X,return from a call to temp_object::X_X,return from a call to temp_object::getX,start of procedure div] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_field2_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure temp_object::temp_field2_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_field_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure temp_object::temp_field_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure temp_object::div()] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_method_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure temp_object::temp_method_div0(),start of procedure X,return from a call to temp_object::X_X,start of procedure div] +codetoanalyze/cpp/shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, NULL_DEREFERENCE, ERROR, [start of procedure call_deref_with_null(),start of procedure deref_null()] +codetoanalyze/cpp/shared/lambda/lambda1.cpp, bar, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure bar(),start of procedure ,return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_,start of procedure operator(),return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()] +codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure foo(),start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:19:17_,start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_,start of procedure operator(),return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()] +codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo::lambda_shared_lambda_lambda1.cpp:19:17_operator(), 0, DIVIDE_BY_ZERO, ERROR, [start of procedure operator()] +codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::branch_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] +codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] +codetoanalyze/cpp/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_class(),start of procedure fun] +codetoanalyze/cpp/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_instance(),start of procedure fun] +codetoanalyze/cpp/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area] +codetoanalyze/cpp/shared/methods/virtual_methods.cpp, rect_area, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure rect_area(),start of procedure Rectangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Rectangle_Rectangle,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Rectangle_area] +codetoanalyze/cpp/shared/methods/virtual_methods.cpp, tri_area, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure tri_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Triangle_area] +codetoanalyze/cpp/shared/methods/virtual_methods.cpp, tri_not_virtual_area, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure tri_not_virtual_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Polygon_area] +codetoanalyze/cpp/shared/namespace/function.cpp, div0_namespace_resolution, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_namespace_resolution(),start of procedure f1::get(),return from a call to f1::get,start of procedure f2::get(),return from a call to f2::get] +codetoanalyze/cpp/shared/namespace/function.cpp, div0_using, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_using(),start of procedure f1::get0(),return from a call to f1::get0] +codetoanalyze/cpp/shared/namespace/function.cpp, type_alias_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure type_alias_div0()] +codetoanalyze/cpp/shared/namespace/function.cpp, using_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure using_div0(),start of procedure ret_zero,return from a call to f3::C_ret_zero] +codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_namepace_res, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_namepace_res()] +codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_static_field, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_static_field()] +codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_static_field_member_access, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_static_field_member_access()] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, conditional_init_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure conditional_init_div0(),Condition is true,Condition is true] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure function_call_init_div0(),start of procedure get1(),return from a call to get1,Condition is true] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_init_div0(),Condition is true] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_inif_elseif_div0, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure simple_inif_elseif_div0(),Condition is false,Condition is false] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure simple_init_div0(),Condition is false] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure simple_init_null_deref(),Condition is false] +codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call, 2, NULL_DEREFERENCE, ERROR, [start of procedure npe_call()] +codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call_after_call, 0, NULL_DEREFERENCE, ERROR, [start of procedure npe_call_after_call(),start of procedure getX(),return from a call to getX] +codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call_with_forward_declaration, 1, NULL_DEREFERENCE, ERROR, [start of procedure npe_call_with_forward_declaration(),start of procedure call_with_forward_declaration()] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_F_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ptr_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_I_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ptr_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_getF_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ptr_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getF,return from a call to reference_field::Ptr_getF] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ptr_getI_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ptr_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ptr,return from a call to reference_field::Ptr_Ptr,start of procedure getI,return from a call to reference_field::Ptr_getI] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_F_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ref_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_I_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ref_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_getF_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ref_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getF,return from a call to reference_field::Ref_getF] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::ref_getI_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::ref_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Ref,return from a call to reference_field::Ref_Ref,start of procedure getI,return from a call to reference_field::Ref_getI] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_F_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_F_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_I_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_getF_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getF,return from a call to reference_field::Val_getF] +codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_getI_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getI,return from a call to reference_field::Val_getI] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ptr, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure field_div0_ptr(),Condition is true,start of procedure set_field_ptr(),return from a call to set_field_ptr,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ref, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure field_div0_ref(),start of procedure set_field_ref(),return from a call to set_field_ref,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_field, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ptr_div0_field(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_method, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ptr_div0_method(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure zero,return from a call to X_zero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_field, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ref_div0_field(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_method, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ref_div0_method(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure zero,return from a call to X_zero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ptr, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure method_div0_ptr(),Condition is true,start of procedure zero_ptr(),start of procedure zero,return from a call to X_zero,return from a call to zero_ptr,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ref, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure method_div0_ref(),start of procedure zero_ref(),start of procedure zero,return from a call to X_zero,return from a call to zero_ref,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure ptr_div0()] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0_function, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure ptr_div0_function(),start of procedure zero_ptr(),return from a call to zero_ptr] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0_function_temp_var, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure ptr_div0_function_temp_var(),start of procedure zero_ptr(),return from a call to zero_ptr] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure ref_div0()] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0_function, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure ref_div0_function(),start of procedure zero_ref(),return from a call to zero_ref] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0_function_temp_var, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure ref_div0_function_temp_var(),start of procedure zero_ref(),return from a call to zero_ref] +codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ref_div0_nested_assignment, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure ref_div0_nested_assignment()] +codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp, div0_function_param_cast, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_function_param_cast(),start of procedure div()] +codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp, div0_init_expr, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_init_expr(),start of procedure div()] +codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp, div0_no_const_ref, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_no_const_ref(),start of procedure div()] +codetoanalyze/cpp/shared/templates/class_specialization.cpp, class_specialization::foo_int, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure class_specialization::foo_int(),start of procedure Derived,start of procedure Base,return from a call to class_specialization::Base_Base,return from a call to class_specialization::Derived_Derived,start of procedure foo,return from a call to class_specialization::Derived_foo] +codetoanalyze/cpp/shared/templates/class_specialization.cpp, class_specialization::foo_intptr, 3, NULL_DEREFERENCE, ERROR, [start of procedure class_specialization::foo_intptr(),start of procedure Derived,start of procedure Base,return from a call to class_specialization::Base_Base,return from a call to class_specialization::Derived_Derived,start of procedure foo2,return from a call to class_specialization::Derived_foo2] +codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, ExecStore_call_div, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure call_div,start of procedure div] +codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, choose1_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure choose1_div0(),start of procedure call_div,start of procedure div] +codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, choose2_div0_extra, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure choose2_div0_extra(),start of procedure extra] +codetoanalyze/cpp/shared/templates/function.cpp, function::createAndDiv, 1, DIVIDE_BY_ZERO, ERROR, [start of procedure function::createAndDiv(),start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] +codetoanalyze/cpp/shared/templates/function.cpp, function::div0_create_and_get_val, 1, DIVIDE_BY_ZERO, ERROR, [start of procedure function::div0_create_and_get_val(),start of procedure function::createAndGetVal(),start of procedure X1,return from a call to function::X1_X1,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,return from a call to function::createAndGetVal,start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal,return from a call to function::createAndGetVal] +codetoanalyze/cpp/shared/templates/function.cpp, function::div0_get_val, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure function::div0_get_val(),start of procedure X1,return from a call to function::X1_X1,start of procedure X3,return from a call to function::X3_X3,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1_getVal,return from a call to function::getVal,start of procedure function::getVal(),start of procedure get,return from a call to function::X3_get,return from a call to function::getVal] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_10args, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_10args()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_1arg, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_1arg(),start of procedure div()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args1, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_3args1()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args2, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_3args2()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args3, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_3args3(),start of procedure div(),start of procedure div(),start of procedure div()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args4, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_3args4(),start of procedure div(),start of procedure div(),start of procedure div()] +codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure method::div0_getter(),start of procedure X2,return from a call to method::X2_X2,start of procedure Getter,return from a call to method::Getter_Getter,start of procedure get,start of procedure get,return from a call to method::X2_get,return from a call to method::Getter_get] +codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter_templ, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure method::div0_getter_templ(),start of procedure X2,return from a call to method::X2_X2,start of procedure X3,return from a call to method::X3_X3,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X3_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] +codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter_templ2, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure method::div0_getter_templ2(),start of procedure X2,return from a call to method::X2_X2,start of procedure X2,return from a call to method::X2_X2,start of procedure GetterTempl,return from a call to method::GetterTempl_GetterTempl,start of procedure get,start of procedure get,return from a call to method::X2_get,start of procedure get,return from a call to method::X2_get,return from a call to method::GetterTempl_get] +codetoanalyze/cpp/shared/types/const.cpp, call_const_params_with_pointer1, 2, NULL_DEREFERENCE, ERROR, [start of procedure call_const_params_with_pointer1(),start of procedure const_in_param1()] +codetoanalyze/cpp/shared/types/const.cpp, call_const_params_with_pointer2, 2, NULL_DEREFERENCE, ERROR, [start of procedure call_const_params_with_pointer2(),start of procedure const_in_param2()] +codetoanalyze/cpp/shared/types/const.cpp, call_const_params_with_pointer3, 2, NULL_DEREFERENCE, ERROR, [start of procedure call_const_params_with_pointer3(),start of procedure const_in_param2()] +codetoanalyze/cpp/shared/types/inheritance_casts.cpp, inheritance_casts::div0_A, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure inheritance_casts::div0_A(),start of procedure inheritance_casts::getA(),start of procedure A,return from a call to inheritance_casts::A_A,start of procedure A,return from a call to inheritance_casts::A_A,Skipping ~A: function or method not found,return from a call to inheritance_casts::getA,start of procedure inheritance_casts::div()] +codetoanalyze/cpp/shared/types/inheritance_casts.cpp, inheritance_casts::div0_B, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure inheritance_casts::div0_B(),start of procedure inheritance_casts::getB(),start of procedure B,start of procedure A,return from a call to inheritance_casts::A_A,return from a call to inheritance_casts::B_B,start of procedure B,start of procedure A,return from a call to inheritance_casts::A_A,return from a call to inheritance_casts::B_B,Skipping ~B: function or method not found,return from a call to inheritance_casts::getB,start of procedure inheritance_casts::div()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_b1, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_b1()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_b1_s, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_b1_s()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_b2, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_b2()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_cast, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_cast()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_cast_ref, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_cast_ref()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_s, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_s()] +codetoanalyze/cpp/shared/types/inheritance_field.cpp, div0_s_b1, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_s_b1()] +codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_function_op, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_function_op(),start of procedure operator*(),return from a call to operator*] +codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_inheritted_op, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_inheritted_op(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_method(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_method_op(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op_ptr, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_method_op_ptr(),start of procedure operator[],return from a call to X_operator[]] +codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure return_struct::get_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,start of procedure X,return from a call to return_struct::X_X] +codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,Skipping skip: function or method not found,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get] +codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_method_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure return_struct::get_method_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,start of procedure div] +codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,Condition is false,start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_ptr_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::Z_div0(),start of procedure Z,return from a call to struct_forward_declare::Z_Z,start of procedure getF,return from a call to struct_forward_declare::Z_getF] +codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_ptr_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::Z_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::Z_getF] +codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::field_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_pass_by_value::field_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure Y,start of procedure X,return from a call to struct_pass_by_value::X_X,return from a call to struct_pass_by_value::Y_Y,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] +codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::param_get_copied_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_pass_by_value::param_get_copied_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::set_f(),return from a call to struct_pass_by_value::set_f] +codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::temp_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_pass_by_value::temp_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] +codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::var_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_pass_by_value::var_div0(),start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure X,return from a call to struct_pass_by_value::X_X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] diff --git a/infer/tests/codetoanalyze/cpp/liveness/issues.exp b/infer/tests/codetoanalyze/cpp/liveness/issues.exp index 8de37075c..88d8eaee1 100644 --- a/infer/tests/codetoanalyze/cpp/liveness/issues.exp +++ b/infer/tests/codetoanalyze/cpp/liveness/issues.exp @@ -1,16 +1,16 @@ -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::FP_assign_array_tricky_ok, 3, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::capture_by_value_bad, 3, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_pointer_bad, 2, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_store_before_capture_by_ref_bad, 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_struct_no_destructor_bad, 0, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_struct_rvalue_ref_bad, 0, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_then_live_bad, 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::easy_bad, 0, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::init_capture_no_call_bad, 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::init_capture_reassign_bad, 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::lambda_bad::lambda_dead_stores.cpp:147:11_operator(), 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::plus_plus1_bad, 2, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::plus_plus2_bad, 2, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::plus_plus3_bad, 2, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::reassign_param_bad, 0, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::use_then_dead_bad, 3, DEAD_STORE, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::FP_assign_array_tricky_ok, 3, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::capture_by_value_bad, 3, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_pointer_bad, 2, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_store_before_capture_by_ref_bad, 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_struct_no_destructor_bad, 0, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_struct_rvalue_ref_bad, 0, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::dead_then_live_bad, 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::easy_bad, 0, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::init_capture_no_call_bad, 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::init_capture_reassign_bad, 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::lambda_bad::lambda_dead_stores.cpp:147:11_operator(), 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::plus_plus1_bad, 2, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::plus_plus2_bad, 2, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::plus_plus3_bad, 2, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::reassign_param_bad, 0, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/liveness/dead_stores.cpp, dead_stores::use_then_dead_bad, 3, DEAD_STORE, ERROR, [Write of unused value] diff --git a/infer/tests/codetoanalyze/cpp/nullable/issues.exp b/infer/tests/codetoanalyze/cpp/nullable/issues.exp index 7290e0ef4..280a8574b 100644 --- a/infer/tests/codetoanalyze/cpp/nullable/issues.exp +++ b/infer/tests/codetoanalyze/cpp/nullable/issues.exp @@ -1,47 +1,47 @@ -codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 1, FIELD_SHOULD_BE_NULLABLE, [Field nonnull_field is compared to null here] -codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 2, NULL_DEREFERENCE, [start of procedure FP_dereference_nonnull_field_after_test_for_null_okay,Condition is true] -codetoanalyze/cpp/nullable/example.cpp, T_assign_nonnull_field_to_null_bad, 0, FIELD_SHOULD_BE_NULLABLE, [Field nonnull_field is assigned null here] -codetoanalyze/cpp/nullable/example.cpp, T_assign_unnanotated_field_to_null_bad, 0, FIELD_SHOULD_BE_NULLABLE, [Field unnanotated_field is assigned null here] -codetoanalyze/cpp/nullable/example.cpp, T_dereference_nullable_field_bad, 0, NULL_DEREFERENCE, [start of procedure dereference_nullable_field_bad] -codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, [Field unnanotated_field is compared to null here] -codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 2, NULL_DEREFERENCE, [start of procedure dereference_unnanotated_field_after_test_for_null_bad,Condition is true] -codetoanalyze/cpp/nullable/example.cpp, T_test_nonnull_field_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, [Field nonnull_field is compared to null here] -codetoanalyze/cpp/nullable/example.cpp, T_test_unnanotated_field_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, [Field unnanotated_field is compared to null here] -codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of mayReturnNullPointer] -codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULL_DEREFERENCE, [start of procedure assignNullableValueBad(),start of procedure mayReturnNullPointer,Condition is true,return from a call to T_mayReturnNullPointer] -codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULL_DEREFERENCE, [start of procedure avoidDoubleReportingBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULLABLE_DEREFERENCE, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULL_DEREFERENCE, [start of procedure callMethodOnNullableObjectBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectOkay, 2, NULL_TEST_AFTER_DEREFERENCE, [start of procedure callMethodOnNullableObjectOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, [start of procedure dereferenceFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, dereferenceOfAliasesCheckedForNullOkay, 3, NULL_TEST_AFTER_DEREFERENCE, [start of procedure dereferenceOfAliasesCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure methodAlwaysCheckedForNullOkay(),Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 2, NULL_DEREFERENCE, [start of procedure methodAlwaysCheckedForNullOkay(),Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, [start of procedure methodCallOnFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 4, NULL_DEREFERENCE, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 2, NULL_DEREFERENCE, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure methodNotAlwaysCheckedForNullBad(),Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULLABLE_DEREFERENCE, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULL_DEREFERENCE, [start of procedure methodNotAlwaysCheckedForNullBad(),Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULL_DEREFERENCE, [start of procedure nullableAssignmentInOneBranchBad(),Condition is true,start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULLABLE_DEREFERENCE, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULL_DEREFERENCE, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 3, NULL_DEREFERENCE, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,start of procedure doSomething,return from a call to T_doSomething,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reassigningNullablePointerOkay, 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/nullable/method.cpp, reassigningNullablePointerToNullOkay, 1, DEAD_STORE, [Write of unused value] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULLABLE_DEREFERENCE, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULL_DEREFERENCE, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULLABLE_DEREFERENCE, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULL_DEREFERENCE, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 1, NULL_TEST_AFTER_DEREFERENCE, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 2, NULL_DEREFERENCE, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULLABLE_DEREFERENCE, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULL_DEREFERENCE, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnull_field is compared to null here] +codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 2, NULL_DEREFERENCE, ERROR, [start of procedure FP_dereference_nonnull_field_after_test_for_null_okay,Condition is true] +codetoanalyze/cpp/nullable/example.cpp, T_assign_nonnull_field_to_null_bad, 0, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnull_field is assigned null here] +codetoanalyze/cpp/nullable/example.cpp, T_assign_unnanotated_field_to_null_bad, 0, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotated_field is assigned null here] +codetoanalyze/cpp/nullable/example.cpp, T_dereference_nullable_field_bad, 0, NULL_DEREFERENCE, ERROR, [start of procedure dereference_nullable_field_bad] +codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotated_field is compared to null here] +codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure dereference_unnanotated_field_after_test_for_null_bad,Condition is true] +codetoanalyze/cpp/nullable/example.cpp, T_test_nonnull_field_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnull_field is compared to null here] +codetoanalyze/cpp/nullable/example.cpp, T_test_unnanotated_field_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotated_field is compared to null here] +codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of mayReturnNullPointer] +codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure assignNullableValueBad(),start of procedure mayReturnNullPointer,Condition is true,return from a call to T_mayReturnNullPointer] +codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure avoidDoubleReportingBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULL_DEREFERENCE, ERROR, [start of procedure callMethodOnNullableObjectBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectOkay, 2, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure callMethodOnNullableObjectOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, dereferenceOfAliasesCheckedForNullOkay, 3, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure dereferenceOfAliasesCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodAlwaysCheckedForNullOkay(),Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodAlwaysCheckedForNullOkay(),Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodCallOnFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 4, NULL_DEREFERENCE, ERROR, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodNotAlwaysCheckedForNullBad(),Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodNotAlwaysCheckedForNullBad(),Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULL_DEREFERENCE, ERROR, [start of procedure nullableAssignmentInOneBranchBad(),Condition is true,start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULL_DEREFERENCE, ERROR, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 3, NULL_DEREFERENCE, ERROR, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,start of procedure doSomething,return from a call to T_doSomething,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reassigningNullablePointerOkay, 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/nullable/method.cpp, reassigningNullablePointerToNullOkay, 1, DEAD_STORE, ERROR, [Write of unused value] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] diff --git a/infer/tests/codetoanalyze/cpp/quandary/issues.exp b/infer/tests/codetoanalyze/cpp/quandary/issues.exp index 5be016173..3800bedcc 100644 --- a/infer/tests/codetoanalyze/cpp/quandary/issues.exp +++ b/infer/tests/codetoanalyze/cpp/quandary/issues.exp @@ -1,145 +1,145 @@ -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_brk_bad, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to brk with tainted index 0] -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_calloc_bad1, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to calloc with tainted index 0] -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_calloc_bad2, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to calloc with tainted index 1] -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_malloc_bad, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to malloc with tainted index 0] -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_reaalloc_bad1, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to realloc with tainted index 0] -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_reaalloc_bad2, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to realloc with tainted index 1] -codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_sbrk_bad, 0, QUANDARY_TAINT_ERROR, [Return from allocs::allocation_source,Call to sbrk with tainted index 0] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink1_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink2_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink3_bad, 0, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink4_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::gflag_to_stack_allocated_array_bad, 0, UNTRUSTED_VARIABLE_LENGTH_ARRAY, [Return from __global_access,Call to __set_array_length with tainted index 1] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::memcpy_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to memcpy with tainted index 2] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::memmove_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to memmove with tainted index 2] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::memset_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to memset with tainted index 2] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::stack_smash_bad, 2, UNTRUSTED_VARIABLE_LENGTH_ARRAY, [Return from __infer_taint_source,Call to __set_array_length with tainted index 1] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::std_array_sink_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to std::array_operator[] with tainted index 1] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::std_string_sink_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to std::basic_string,std::allocator>_operator[] with tainted index 1] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::strcpy_bad, 2, QUANDARY_TAINT_ERROR, [Return from getenv,Call to strcpy with tainted index 1] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::strncpy_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to strncpy with tainted index 2] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::wmemcpy_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to wmemcpy with tainted index 2] -codetoanalyze/cpp/quandary/arrays.cpp, arrays::wmemmove_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to wmemmove with tainted index 2] -codetoanalyze/cpp/quandary/basics.cpp, basics::Obj_endpoint, 1, QUANDARY_TAINT_ERROR, [Return from basics::Obj_endpoint,Call to basics::Obj_string_sink with tainted index 1] -codetoanalyze/cpp/quandary/basics.cpp, basics::Obj_endpoint, 2, QUANDARY_TAINT_ERROR, [Return from basics::Obj_endpoint,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::object_source_sink_bad, 2, QUANDARY_TAINT_ERROR, [Return from basics::Obj_method_source,Call to basics::Obj_method_sink with tainted index 1] -codetoanalyze/cpp/quandary/basics.cpp, basics::propagateBad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to basics::callSink with tainted index 0,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::returnSourceToSinkBad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data &return*,Return from basics::returnSource,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::sourceThenCallSinkBad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to basics::callSink with tainted index 0,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::sourceToSinkDirectBad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::static_source_sink_bad, 2, QUANDARY_TAINT_ERROR, [Return from basics::Obj_static_source,Call to basics::Obj_static_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::string_source_bad, 2, QUANDARY_TAINT_ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] -codetoanalyze/cpp/quandary/basics.cpp, basics::taint_arg_source_bad, 3, QUANDARY_TAINT_ERROR, [Return from basics::Obj_taint_arg_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::template_source_bad, 2, QUANDARY_TAINT_ERROR, [Return from basics::template_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::unsanitized_bad, 3, QUANDARY_TAINT_ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] -codetoanalyze/cpp/quandary/basics.cpp, basics::via_field_bad1, 3, QUANDARY_TAINT_ERROR, [Return from basics::template_source_>,Call to basics::template_sink_> with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::via_field_bad2, 2, QUANDARY_TAINT_ERROR, [Return from basics::template_source_>,Call to basics::template_sink_> with tainted index 0] -codetoanalyze/cpp/quandary/basics.cpp, basics::via_passthrough_bad1, 4, QUANDARY_TAINT_ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] -codetoanalyze/cpp/quandary/basics.cpp, basics::via_passthrough_bad2, 3, QUANDARY_TAINT_ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_FP_service1_endpoint_struct_int_field_ok, 1, SHELL_INJECTION_RISK, [Return from endpoints::Service1_FP_service1_endpoint_struct_int_field_ok,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_endpoint_to_curl_url_bad, 1, UNTRUSTED_URL_RISK, [Return from endpoints::Service1_endpoint_to_curl_url_bad,Call to curl_easy_setopt with tainted index 2] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_endpoint_to_curl_url_exp_bad, 1, UNTRUSTED_URL_RISK, [Return from endpoints::Service1_endpoint_to_curl_url_exp_bad,Call to curl_easy_setopt with tainted index 2] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_endpoint_to_curl_url_unknown_exp_bad, 1, UNTRUSTED_URL_RISK, [Return from endpoints::Service1_endpoint_to_curl_url_unknown_exp_bad,Call to curl_easy_setopt with tainted index 2] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_fstream_open_file_bad, 1, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_fstream_open_file_bad,Call to std::basic_fstream>_basic_fstream with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_fstream_open_file_bad, 3, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_fstream_open_file_bad,Call to std::basic_fstream>_open with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ifstream_open_file_bad, 1, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_ifstream_open_file_bad,Call to std::basic_ifstream>_basic_ifstream with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ifstream_open_file_bad, 3, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_ifstream_open_file_bad,Call to std::basic_ifstream>_open with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ofstream_open_file_bad, 1, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_ofstream_open_file_bad,Call to std::basic_ofstream>_basic_ofstream with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ofstream_open_file_bad, 3, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_ofstream_open_file_bad,Call to std::basic_ofstream>_open with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 1, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to open with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 2, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to openat with tainted index 1] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 3, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to creat with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 4, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to fopen with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 5, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to freopen with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 6, UNTRUSTED_FILE_RISK, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to rename with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_sanitized_sql_with_shell_bad, 2, SQL_INJECTION_RISK, [Return from endpoints::Service1_sanitized_sql_with_shell_bad,Call to __infer_sql_sink with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_service1_endpoint_bad, 2, SHELL_INJECTION_RISK, [Return from endpoints::Service1_service1_endpoint_bad,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_service1_endpoint_sql_sanitized_bad, 2, USER_CONTROLLED_SQL_RISK, [Return from endpoints::Service1_service1_endpoint_sql_sanitized_bad,Call to __infer_sql_sink with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_service1_endpoint_struct_string_field_bad, 1, SHELL_INJECTION_RISK, [Return from endpoints::Service1_service1_endpoint_struct_string_field_bad,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_unsanitized_sql_bad, 2, SQL_INJECTION_RISK, [Return from endpoints::Service1_unsanitized_sql_bad,Call to __infer_sql_sink with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_user_controlled_endpoint_to_shell_bad, 2, SHELL_INJECTION, [Return from endpoints::Service1_user_controlled_endpoint_to_shell_bad,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_user_controlled_endpoint_to_sql_bad, 2, SQL_INJECTION, [Return from endpoints::Service1_user_controlled_endpoint_to_sql_bad,Call to __infer_sql_sink with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service2_service2_endpoint_bad, 2, SHELL_INJECTION_RISK, [Return from endpoints::Service2_service2_endpoint_bad,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service3_service3_endpoint_bad, 2, SHELL_INJECTION_RISK, [Return from endpoints::Service3_service3_endpoint_bad,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 6, SHELL_INJECTION, [Return from getenv,Call to execl with tainted index 1] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 8, SHELL_INJECTION, [Return from getenv,Call to execl with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 11, SHELL_INJECTION, [Return from getenv,Call to execl with tainted index 2] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 13, SHELL_INJECTION, [Return from getenv,Call to execlp with tainted index 1] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 15, SHELL_INJECTION, [Return from getenv,Call to execlp with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 17, SHELL_INJECTION, [Return from getenv,Call to execle with tainted index 1] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 19, SHELL_INJECTION, [Return from getenv,Call to execle with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 21, SHELL_INJECTION, [Return from getenv,Call to execv with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 23, SHELL_INJECTION, [Return from getenv,Call to execvp with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 25, SHELL_INJECTION, [Return from getenv,Call to execv with tainted index 1] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 27, SHELL_INJECTION, [Return from getenv,Call to execvp with tainted index 1] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 29, SHELL_INJECTION, [Return from getenv,Call to execve with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 31, SHELL_INJECTION, [Return from getenv,Call to execve with tainted index 1] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 33, SHELL_INJECTION, [Return from getenv,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 35, SHELL_INJECTION, [Return from getenv,Call to popen with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::exec_string_flag_bad, 0, SHELL_INJECTION, [Return from __global_access,Call to execl with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::exec_string_flag_interproc_bad, 2, SHELL_INJECTION, [Return from __global_access with tainted data &return,Return from execs::return_global,Call to execl with tainted index 0] -codetoanalyze/cpp/quandary/execs.cpp, execs::sql_on_env_var_bad, 2, SQL_INJECTION, [Return from getenv,Call to __infer_sql_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop1_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop2_bad, 5, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop2_bad, 5, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop3_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop_nested1_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to expressions::call_sink_nested with tainted index 0,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop_nested2_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to expressions::call_sink_nested with tainted index 0,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_unop1_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_unop2_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad1, 5, SHELL_INJECTION, [Return from std::basic_istream>_read,Call to execle with tainted index 0] -codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad2, 5, SHELL_INJECTION, [Return from std::basic_istream>_readsome,Call to execle with tainted index 0] -codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad3, 5, SHELL_INJECTION, [Return from std::basic_istream>_getline,Call to execle with tainted index 0] -codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad5, 4, SHELL_INJECTION, [Return from std::basic_istream>_getline,Call to execle with tainted index 0] -codetoanalyze/cpp/quandary/pointers.cpp, pointers::FP_reuse_pointer_as_local_ok, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::reuse_pointer_as_local,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_pointer_pass_to_sink_bad1, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_pointer_to_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_pointer_pass_to_sink_bad2, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_pointer_to_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_source_by_reference_bad1, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_source_by_reference,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_source_by_reference_bad2, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_source_by_reference,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_source_by_reference_bad3, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_source_by_reference with tainted data @val$0*,Return from pointers::call_assign_source_by_reference,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::dead_sanitizer_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_shell_to_url_bad, 3, UNTRUSTED_URL_RISK, [Return from __infer_taint_source,Call to __infer_url_sink with tainted index 0] -codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_sql_to_shell_bad, 3, SHELL_INJECTION, [Return from __infer_taint_source,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_sql_to_url_bad, 3, UNTRUSTED_URL_RISK, [Return from __infer_taint_source,Call to __infer_url_sink with tainted index 0] -codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_url_to_sql_bad, 3, SQL_INJECTION, [Return from __infer_taint_source,Call to __infer_sql_sink with tainted index 0] -codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::kill_sanitizer_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::append1_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::append2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::assign1_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::assign2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::concat1_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::concat2_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::concat3_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::constructor1_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::constructor2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::constructor3_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::format1_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::format2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::format3_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::format4_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::format_varargs_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::insert1_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::insert2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::memchr_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::memcpy_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::memmove_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::replace1_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::replace2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::sprintf1_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::sprintf2_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy1_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to strcpy with tainted index 1] -codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy1_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy2_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to strcpy with tainted index 1] -codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy2_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::strncpy_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/strings.cpp, strings::swap_bad, 4, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/structs.cpp, structs::read_from_struct_source_field_bad, 2, SHELL_INJECTION, [Return from __infer_taint_source,Call to system with tainted index 0] -codetoanalyze/cpp/quandary/structs.cpp, structs::struct_field_source_bad, 3, QUANDARY_TAINT_ERROR, [Return from getenv,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/structs.cpp, structs::struct_field_source_unique_pointer_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/structs.cpp, structs::struct_source_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::direct_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::skip_indirect_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::skip_pointer_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::skip_value_bad, 3, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] -codetoanalyze/cpp/quandary/vectors.cpp, vectors::read_vector_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to std::vector>_operator[] with tainted index 1] -codetoanalyze/cpp/quandary/vectors.cpp, vectors::write_vector_bad, 2, QUANDARY_TAINT_ERROR, [Return from __infer_taint_source,Call to std::vector>_operator[] with tainted index 1] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_brk_bad, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to brk with tainted index 0] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_calloc_bad1, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to calloc with tainted index 0] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_calloc_bad2, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to calloc with tainted index 1] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_malloc_bad, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to malloc with tainted index 0] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_reaalloc_bad1, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to realloc with tainted index 0] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_reaalloc_bad2, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to realloc with tainted index 1] +codetoanalyze/cpp/quandary/allocs.cpp, allocs::untrusted_sbrk_bad, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from allocs::allocation_source,Call to sbrk with tainted index 0] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink1_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink2_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink3_bad, 0, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::array_sink4_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __array_access with tainted index 0] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::gflag_to_stack_allocated_array_bad, 0, UNTRUSTED_VARIABLE_LENGTH_ARRAY, ERROR, [Return from __global_access,Call to __set_array_length with tainted index 1] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::memcpy_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to memcpy with tainted index 2] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::memmove_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to memmove with tainted index 2] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::memset_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to memset with tainted index 2] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::stack_smash_bad, 2, UNTRUSTED_VARIABLE_LENGTH_ARRAY, ERROR, [Return from __infer_taint_source,Call to __set_array_length with tainted index 1] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::std_array_sink_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to std::array_operator[] with tainted index 1] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::std_string_sink_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to std::basic_string,std::allocator>_operator[] with tainted index 1] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::strcpy_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from getenv,Call to strcpy with tainted index 1] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::strncpy_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to strncpy with tainted index 2] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::wmemcpy_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to wmemcpy with tainted index 2] +codetoanalyze/cpp/quandary/arrays.cpp, arrays::wmemmove_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to wmemmove with tainted index 2] +codetoanalyze/cpp/quandary/basics.cpp, basics::Obj_endpoint, 1, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_endpoint,Call to basics::Obj_string_sink with tainted index 1] +codetoanalyze/cpp/quandary/basics.cpp, basics::Obj_endpoint, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_endpoint,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::object_source_sink_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_method_source,Call to basics::Obj_method_sink with tainted index 1] +codetoanalyze/cpp/quandary/basics.cpp, basics::propagateBad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to basics::callSink with tainted index 0,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::returnSourceToSinkBad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data &return*,Return from basics::returnSource,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::sourceThenCallSinkBad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to basics::callSink with tainted index 0,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::sourceToSinkDirectBad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::static_source_sink_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_static_source,Call to basics::Obj_static_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::string_source_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] +codetoanalyze/cpp/quandary/basics.cpp, basics::taint_arg_source_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_taint_arg_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::template_source_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::template_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::unsanitized_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] +codetoanalyze/cpp/quandary/basics.cpp, basics::via_field_bad1, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::template_source_>,Call to basics::template_sink_> with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::via_field_bad2, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::template_source_>,Call to basics::template_sink_> with tainted index 0] +codetoanalyze/cpp/quandary/basics.cpp, basics::via_passthrough_bad1, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] +codetoanalyze/cpp/quandary/basics.cpp, basics::via_passthrough_bad2, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from basics::Obj_string_source,Call to basics::Obj_string_sink with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_FP_service1_endpoint_struct_int_field_ok, 1, SHELL_INJECTION_RISK, ERROR, [Return from endpoints::Service1_FP_service1_endpoint_struct_int_field_ok,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_endpoint_to_curl_url_bad, 1, UNTRUSTED_URL_RISK, ERROR, [Return from endpoints::Service1_endpoint_to_curl_url_bad,Call to curl_easy_setopt with tainted index 2] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_endpoint_to_curl_url_exp_bad, 1, UNTRUSTED_URL_RISK, ERROR, [Return from endpoints::Service1_endpoint_to_curl_url_exp_bad,Call to curl_easy_setopt with tainted index 2] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_endpoint_to_curl_url_unknown_exp_bad, 1, UNTRUSTED_URL_RISK, ERROR, [Return from endpoints::Service1_endpoint_to_curl_url_unknown_exp_bad,Call to curl_easy_setopt with tainted index 2] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_fstream_open_file_bad, 1, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_fstream_open_file_bad,Call to std::basic_fstream>_basic_fstream with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_fstream_open_file_bad, 3, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_fstream_open_file_bad,Call to std::basic_fstream>_open with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ifstream_open_file_bad, 1, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_ifstream_open_file_bad,Call to std::basic_ifstream>_basic_ifstream with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ifstream_open_file_bad, 3, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_ifstream_open_file_bad,Call to std::basic_ifstream>_open with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ofstream_open_file_bad, 1, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_ofstream_open_file_bad,Call to std::basic_ofstream>_basic_ofstream with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_ofstream_open_file_bad, 3, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_ofstream_open_file_bad,Call to std::basic_ofstream>_open with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 1, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to open with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 2, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to openat with tainted index 1] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 3, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to creat with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 4, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to fopen with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 5, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to freopen with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_open_or_create_c_style_file_bad, 6, UNTRUSTED_FILE_RISK, ERROR, [Return from endpoints::Service1_open_or_create_c_style_file_bad,Call to rename with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_sanitized_sql_with_shell_bad, 2, SQL_INJECTION_RISK, ERROR, [Return from endpoints::Service1_sanitized_sql_with_shell_bad,Call to __infer_sql_sink with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_service1_endpoint_bad, 2, SHELL_INJECTION_RISK, ERROR, [Return from endpoints::Service1_service1_endpoint_bad,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_service1_endpoint_sql_sanitized_bad, 2, USER_CONTROLLED_SQL_RISK, ERROR, [Return from endpoints::Service1_service1_endpoint_sql_sanitized_bad,Call to __infer_sql_sink with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_service1_endpoint_struct_string_field_bad, 1, SHELL_INJECTION_RISK, ERROR, [Return from endpoints::Service1_service1_endpoint_struct_string_field_bad,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_unsanitized_sql_bad, 2, SQL_INJECTION_RISK, ERROR, [Return from endpoints::Service1_unsanitized_sql_bad,Call to __infer_sql_sink with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_user_controlled_endpoint_to_shell_bad, 2, SHELL_INJECTION, ERROR, [Return from endpoints::Service1_user_controlled_endpoint_to_shell_bad,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service1_user_controlled_endpoint_to_sql_bad, 2, SQL_INJECTION, ERROR, [Return from endpoints::Service1_user_controlled_endpoint_to_sql_bad,Call to __infer_sql_sink with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service2_service2_endpoint_bad, 2, SHELL_INJECTION_RISK, ERROR, [Return from endpoints::Service2_service2_endpoint_bad,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/endpoints.cpp, endpoints::Service3_service3_endpoint_bad, 2, SHELL_INJECTION_RISK, ERROR, [Return from endpoints::Service3_service3_endpoint_bad,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 6, SHELL_INJECTION, ERROR, [Return from getenv,Call to execl with tainted index 1] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 8, SHELL_INJECTION, ERROR, [Return from getenv,Call to execl with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 11, SHELL_INJECTION, ERROR, [Return from getenv,Call to execl with tainted index 2] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 13, SHELL_INJECTION, ERROR, [Return from getenv,Call to execlp with tainted index 1] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 15, SHELL_INJECTION, ERROR, [Return from getenv,Call to execlp with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 17, SHELL_INJECTION, ERROR, [Return from getenv,Call to execle with tainted index 1] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 19, SHELL_INJECTION, ERROR, [Return from getenv,Call to execle with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 21, SHELL_INJECTION, ERROR, [Return from getenv,Call to execv with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 23, SHELL_INJECTION, ERROR, [Return from getenv,Call to execvp with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 25, SHELL_INJECTION, ERROR, [Return from getenv,Call to execv with tainted index 1] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 27, SHELL_INJECTION, ERROR, [Return from getenv,Call to execvp with tainted index 1] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 29, SHELL_INJECTION, ERROR, [Return from getenv,Call to execve with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 31, SHELL_INJECTION, ERROR, [Return from getenv,Call to execve with tainted index 1] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 33, SHELL_INJECTION, ERROR, [Return from getenv,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::callExecBad, 35, SHELL_INJECTION, ERROR, [Return from getenv,Call to popen with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::exec_string_flag_bad, 0, SHELL_INJECTION, ERROR, [Return from __global_access,Call to execl with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::exec_string_flag_interproc_bad, 2, SHELL_INJECTION, ERROR, [Return from __global_access with tainted data &return,Return from execs::return_global,Call to execl with tainted index 0] +codetoanalyze/cpp/quandary/execs.cpp, execs::sql_on_env_var_bad, 2, SQL_INJECTION, ERROR, [Return from getenv,Call to __infer_sql_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop1_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop2_bad, 5, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop2_bad, 5, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop3_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop_nested1_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to expressions::call_sink_nested with tainted index 0,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_binop_nested2_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to expressions::call_sink_nested with tainted index 0,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_unop1_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/expressions.cpp, expressions::propagate_via_unop2_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad1, 5, SHELL_INJECTION, ERROR, [Return from std::basic_istream>_read,Call to execle with tainted index 0] +codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad2, 5, SHELL_INJECTION, ERROR, [Return from std::basic_istream>_readsome,Call to execle with tainted index 0] +codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad3, 5, SHELL_INJECTION, ERROR, [Return from std::basic_istream>_getline,Call to execle with tainted index 0] +codetoanalyze/cpp/quandary/files.cpp, files::read_file_call_exec_bad5, 4, SHELL_INJECTION, ERROR, [Return from std::basic_istream>_getline,Call to execle with tainted index 0] +codetoanalyze/cpp/quandary/pointers.cpp, pointers::FP_reuse_pointer_as_local_ok, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::reuse_pointer_as_local,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_pointer_pass_to_sink_bad1, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_pointer_to_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_pointer_pass_to_sink_bad2, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_pointer_to_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_source_by_reference_bad1, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_source_by_reference,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_source_by_reference_bad2, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_source_by_reference,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/pointers.cpp, pointers::assign_source_by_reference_bad3, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source with tainted data @val$0*,Return from pointers::assign_source_by_reference with tainted data @val$0*,Return from pointers::call_assign_source_by_reference,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::dead_sanitizer_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_shell_to_url_bad, 3, UNTRUSTED_URL_RISK, ERROR, [Return from __infer_taint_source,Call to __infer_url_sink with tainted index 0] +codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_sql_to_shell_bad, 3, SHELL_INJECTION, ERROR, [Return from __infer_taint_source,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_sql_to_url_bad, 3, UNTRUSTED_URL_RISK, ERROR, [Return from __infer_taint_source,Call to __infer_url_sink with tainted index 0] +codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::escape_url_to_sql_bad, 3, SQL_INJECTION, ERROR, [Return from __infer_taint_source,Call to __infer_sql_sink with tainted index 0] +codetoanalyze/cpp/quandary/sanitizers.cpp, sanitizers::kill_sanitizer_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::append1_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::append2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::assign1_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::assign2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::concat1_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::concat2_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::concat3_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::constructor1_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::constructor2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::constructor3_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::format1_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::format2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::format3_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::format4_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::format_varargs_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::insert1_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::insert2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::memchr_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::memcpy_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::memmove_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::replace1_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::replace2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::sprintf1_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::sprintf2_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy1_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to strcpy with tainted index 1] +codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy1_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy2_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to strcpy with tainted index 1] +codetoanalyze/cpp/quandary/strings.cpp, strings::strcpy2_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::strncpy_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/strings.cpp, strings::swap_bad, 4, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/structs.cpp, structs::read_from_struct_source_field_bad, 2, SHELL_INJECTION, ERROR, [Return from __infer_taint_source,Call to system with tainted index 0] +codetoanalyze/cpp/quandary/structs.cpp, structs::struct_field_source_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from getenv,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/structs.cpp, structs::struct_field_source_unique_pointer_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/structs.cpp, structs::struct_source_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::direct_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::skip_indirect_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::skip_pointer_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/unknown_code.cpp, unknown_code::skip_value_bad, 3, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to __infer_taint_sink with tainted index 0] +codetoanalyze/cpp/quandary/vectors.cpp, vectors::read_vector_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to std::vector>_operator[] with tainted index 1] +codetoanalyze/cpp/quandary/vectors.cpp, vectors::write_vector_bad, 2, QUANDARY_TAINT_ERROR, ERROR, [Return from __infer_taint_source,Call to std::vector>_operator[] with tainted index 1] diff --git a/infer/tests/codetoanalyze/cpp/racerd/issues.exp b/infer/tests/codetoanalyze/cpp/racerd/issues.exp index 5454ec180..778581674 100644 --- a/infer/tests/codetoanalyze/cpp/racerd/issues.exp +++ b/infer/tests/codetoanalyze/cpp/racerd/issues.exp @@ -1,26 +1,26 @@ -codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get2, 3, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_written`,,access to `&this.suspiciously_written`] -codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get4, 0, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] -codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get5, 0, LOCK_CONSISTENCY_VIOLATION, [,call to basics::Basic_get_private_suspiciously_read,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] -codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_test_double_lock_bad, 0, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.single_lock_suspiciously_read`,,access to `&this.single_lock_suspiciously_read`] -codetoanalyze/cpp/racerd/constructor_ownership.cpp, constructors::TSL_not_locked_race, 0, LOCK_CONSISTENCY_VIOLATION, [,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `&this.type_`,,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `&this.type_`] -codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, [,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`] -codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, [,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`] -codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, [,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`] -codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, [,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`] -codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, [,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`] -codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, [,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`] -codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test2_bad, 5, LOCK_CONSISTENCY_VIOLATION, [,access to `&x.f`,,access to `&x.f`] -codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test3_bad, 5, LOCK_CONSISTENCY_VIOLATION, [,access to `&x.f`,,access to `&x.f`] -codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get2, 3, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_written`,,access to `&this.suspiciously_written`] -codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get4, 0, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] -codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_test1, 2, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] -codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get2, 3, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_written`,,access to `&this.suspiciously_written`] -codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get4, 0, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] -codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_call1, 1, LOCK_CONSISTENCY_VIOLATION, [,call to reporting::Basic_test,access to `&xparam.x1.w`,,call to reporting::Basic_call1,call to reporting::Basic_test,access to `&xparam.x1.w`] -codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, [,call to reporting::Basic_call1,call to reporting::Basic_test,access to `&xparam.x1.w`,,call to reporting::Basic_call1,call to reporting::Basic_test,access to `&xparam.x1.w`] -codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 3, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_written1`,,access to `&this.suspiciously_written1`] -codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 4, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_written2`,,access to `&this.suspiciously_written2`] -codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 1, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read1`,,access to `&this.suspiciously_read1`] -codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 2, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read2`,,access to `&this.suspiciously_read2`] -codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get5, 5, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read1`,,access to `&this.suspiciously_read1`] -codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get6, 5, LOCK_CONSISTENCY_VIOLATION, [,access to `&this.suspiciously_read1`,,access to `&this.suspiciously_read1`] +codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_written`,,access to `&this.suspiciously_written`] +codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get4, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] +codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_get5, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to basics::Basic_get_private_suspiciously_read,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] +codetoanalyze/cpp/racerd/basics.cpp, basics::Basic_test_double_lock_bad, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.single_lock_suspiciously_read`,,access to `&this.single_lock_suspiciously_read`] +codetoanalyze/cpp/racerd/constructor_ownership.cpp, constructors::TSL_not_locked_race, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `&this.type_`,,call to constructors::BSS_toJson_race,call to constructors::dynamic_operator=,access to `&this.type_`] +codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`] +codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`] +codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_call1, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`] +codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.w`] +codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x2.a.b.c`] +codetoanalyze/cpp/racerd/dereferencing.cpp, dereferencing::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`,,call to dereferencing::Basic_call1,call to dereferencing::Basic_mixed_deref_race,access to `&xparam.x1.u`] +codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test2_bad, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&x.f`,,access to `&x.f`] +codetoanalyze/cpp/racerd/locals_ownership.cpp, locals::Ownership_test3_bad, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&x.f`,,access to `&x.f`] +codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_written`,,access to `&this.suspiciously_written`] +codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_get4, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] +codetoanalyze/cpp/racerd/lock_guard.cpp, basics::LockGuard_test1, 2, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] +codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_written`,,access to `&this.suspiciously_written`] +codetoanalyze/cpp/racerd/lock_guard_with_scope.cpp, basics::LockGuardWithScope_get4, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read`,,access to `&this.suspiciously_read`] +codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_call1, 1, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to reporting::Basic_test,access to `&xparam.x1.w`,,call to reporting::Basic_call1,call to reporting::Basic_test,access to `&xparam.x1.w`] +codetoanalyze/cpp/racerd/reporting.cpp, reporting::Basic_test_unlock, 0, LOCK_CONSISTENCY_VIOLATION, ERROR, [,call to reporting::Basic_call1,call to reporting::Basic_test,access to `&xparam.x1.w`,,call to reporting::Basic_call1,call to reporting::Basic_test,access to `&xparam.x1.w`] +codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 3, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_written1`,,access to `&this.suspiciously_written1`] +codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get2, 4, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_written2`,,access to `&this.suspiciously_written2`] +codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 1, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read1`,,access to `&this.suspiciously_read1`] +codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get4, 2, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read2`,,access to `&this.suspiciously_read2`] +codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get5, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read1`,,access to `&this.suspiciously_read1`] +codetoanalyze/cpp/racerd/unique_lock.cpp, basics::UniqueLock_get6, 5, LOCK_CONSISTENCY_VIOLATION, ERROR, [,access to `&this.suspiciously_read1`,,access to `&this.suspiciously_read1`] diff --git a/infer/tests/codetoanalyze/cpp/siof/issues.exp b/infer/tests/codetoanalyze/cpp/siof/issues.exp index 98b7298cf..d3ca0d63d 100644 --- a/infer/tests/codetoanalyze/cpp/siof/issues.exp +++ b/infer/tests/codetoanalyze/cpp/siof/issues.exp @@ -1,17 +1,17 @@ -codetoanalyze/cpp/siof/siof/duplicate_reports.cpp, __infer_globals_initializer_many_paths_to_siof_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of many_paths_to_siof_bad,call to X_X,call to access_rick,access to rick|] -codetoanalyze/cpp/siof/siof/duplicate_reports.cpp, __infer_globals_initializer_many_paths_to_siof_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of many_paths_to_siof_bad,call to X_X,call to nested_access,access to dangerous|] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_X::static_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of X::static_pod_accesses_non_pod_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_X::static_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of X::static_pod_accesses_non_pod_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object2_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object2_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object3_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object3_bad,call to access_to_templated_non_pod,access to global_object3|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_global_object_bad,call to SomeOtherNonPODObject_SomeOtherNonPODObject,access to extern_global_object|] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_initWithGlobal_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of initWithGlobal_bad,call to getGlobalNonPOD,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_initWithGlobal_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of initWithGlobal_bad,call to getGlobalNonPOD,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of pod_accesses_non_pod_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of pod_accesses_non_pod_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object2_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object2_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object3_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object3_bad,call to access_to_templated_non_pod,access to global_object3|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] -codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of another_templated_global_object_bad,call to SomeOtherTemplatedNonPODObject<_Bool>_SomeOtherTemplatedNonPODObject,access to extern_global_object|] -codetoanalyze/cpp/siof/siof/std_ios_base_init.cpp, __infer_globals_initializer_global_std_cerr_access_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, [initialization of global_std_cerr_access_bad,call to return_4_SIOF,call to printing_SIOF,access to std::cerr|] +codetoanalyze/cpp/siof/siof/duplicate_reports.cpp, __infer_globals_initializer_many_paths_to_siof_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of many_paths_to_siof_bad,call to X_X,call to access_rick,access to rick|] +codetoanalyze/cpp/siof/siof/duplicate_reports.cpp, __infer_globals_initializer_many_paths_to_siof_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of many_paths_to_siof_bad,call to X_X,call to nested_access,access to dangerous|] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_X::static_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of X::static_pod_accesses_non_pod_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_X::static_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of X::static_pod_accesses_non_pod_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_global_object2_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_global_object2_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object3_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_global_object3_bad,call to access_to_templated_non_pod,access to global_object3|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_another_global_object_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_global_object_bad,call to SomeOtherNonPODObject_SomeOtherNonPODObject,access to extern_global_object|] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_initWithGlobal_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of initWithGlobal_bad,call to getGlobalNonPOD,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_initWithGlobal_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of initWithGlobal_bad,call to getGlobalNonPOD,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of pod_accesses_non_pod_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof.cpp, __infer_globals_initializer_pod_accesses_non_pod_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of pod_accesses_non_pod_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_templated_global_object2_bad,call to access_to_non_pod,access to global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object2_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_templated_global_object2_bad,call to access_to_non_pod,access to some_other_global_object2|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object3_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_templated_global_object3_bad,call to access_to_templated_non_pod,access to global_object3|codetoanalyze/cpp/siof/siof/siof_different_tu.cpp] +codetoanalyze/cpp/siof/siof/siof_templated.cpp, __infer_globals_initializer_another_templated_global_object_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of another_templated_global_object_bad,call to SomeOtherTemplatedNonPODObject<_Bool>_SomeOtherTemplatedNonPODObject,access to extern_global_object|] +codetoanalyze/cpp/siof/siof/std_ios_base_init.cpp, __infer_globals_initializer_global_std_cerr_access_bad, 0, STATIC_INITIALIZATION_ORDER_FIASCO, ERROR, [initialization of global_std_cerr_access_bad,call to return_4_SIOF,call to printing_SIOF,access to std::cerr|] diff --git a/infer/tests/codetoanalyze/cpp/uninit/issues.exp b/infer/tests/codetoanalyze/cpp/uninit/issues.exp index 82389448e..d04eb18dd 100644 --- a/infer/tests/codetoanalyze/cpp/uninit/issues.exp +++ b/infer/tests/codetoanalyze/cpp/uninit/issues.exp @@ -1,13 +1,13 @@ -codetoanalyze/cpp/uninit/members.cpp, access_members_bad, 4, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/members.cpp, access_members_bad2, 4, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/members.cpp, access_members_bad3, 4, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/struct.cpp, pass_basic_type_field_bad, 3, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/struct.cpp, struct_uninit_bad, 3, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, FP_no_warning_noreturn_callee_ok, 7, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, bad1, 2, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, bad2, 2, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, branch1_FP, 11, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, loop1_FP, 10, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, no_init_return_bad, 2, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, ret_undef_bad, 2, UNINITIALIZED_VALUE, [] -codetoanalyze/cpp/uninit/uninit.cpp, warning_when_throw_in_other_branch_bad, 9, UNINITIALIZED_VALUE, [] +codetoanalyze/cpp/uninit/members.cpp, access_members_bad, 4, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/members.cpp, access_members_bad2, 4, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/members.cpp, access_members_bad3, 4, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/struct.cpp, pass_basic_type_field_bad, 3, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/struct.cpp, struct_uninit_bad, 3, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, FP_no_warning_noreturn_callee_ok, 7, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, bad1, 2, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, bad2, 2, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, branch1_FP, 11, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, loop1_FP, 10, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, no_init_return_bad, 2, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, ret_undef_bad, 2, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/cpp/uninit/uninit.cpp, warning_when_throw_in_other_branch_bad, 9, UNINITIALIZED_VALUE, ERROR, [] diff --git a/infer/tests/codetoanalyze/java/checkers/issues.exp b/infer/tests/codetoanalyze/java/checkers/issues.exp index 828a68347..90459c3f1 100644 --- a/infer/tests/codetoanalyze/java/checkers/issues.exp +++ b/infer/tests/codetoanalyze/java/checkers/issues.exp @@ -1,56 +1,56 @@ -codetoanalyze/java/checkers/AnnotationReachabilityDuplicatesExample.java, void AnnotationReachabilityDuplicatesExample.perfCriticalBad1(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/AnnotationReachabilityDuplicatesExample.java, void AnnotationReachabilityDuplicatesExample.perfCriticalBad2(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/CustomAnnotations.java, void CustomAnnotations.source1Bad(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, [] -codetoanalyze/java/checkers/CustomAnnotations.java, void CustomAnnotations.source2Bad(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, View ExpensiveCallExample.callsFindViewByIdFromActivity(FragmentActivity,int), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, View ExpensiveCallExample.callsFindViewByIdFromView(ImageView,int), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.annotatedPerformanceCriticalInInterface(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callMethodOnExpensiveClass(ExpensiveClass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callingExpensiveMethodFromInterface(ExpensiveInterfaceExample), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveInConditionalBranch(), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveInTheUnlikelyElseBranch(), 4, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveWithDisjunctionAfterUnlikely(), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveWithOverriddenUnlikelyCondition(), 4, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.directlyCallingExpensiveMethod(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.indirectlyCallingExpensiveMethod(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.longerCallStackToExpensive(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.onlyOneExpensiveCallUsingUnlikely(), 4, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalClass.performanceCriticalMethod1(ExpensiveClass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalClass.performanceCriticalMethod2(Other), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalClass.performanceCriticalMethod3(Other), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalSubclass.subclassPerformanceCriticalMethod1(ExpensiveClass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalSubclass.subclassPerformanceCriticalMethod2(ExpensiveSubclass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalSubclass.subclassPerformanceCriticalMethod3(Other), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveInheritanceExample.java, void ExpensiveInheritanceExample.doesReportBecauseTypeFlowInsensitive(A), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveInheritanceExample.java, void ExpensiveInheritanceExample.reportsAssumingObjectOfTypeA(), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveInheritanceExample.java, void ExpensiveInheritanceExample.reportsBecauseFooIsExpensiveInA(A), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveInterfaceExample.java, void ExpensiveInterfaceExample$ImplementsInterface.m1(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/ExpensiveSubtypingExample.java, void ExpensiveSubtypingExample.m3(), 0, CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED, [return from a call to void ExpensiveSubtypingExample.m3()] -codetoanalyze/java/checkers/FragmentRetainsViewExample.java, void FragmentRetainsViewExample.onDestroyView(), 0, CHECKERS_FRAGMENT_RETAINS_VIEW, [return from a call to void FragmentRetainsViewExample.onDestroyView()] -codetoanalyze/java/checkers/FragmentRetainsViewExample.java, void FragmentRetainsViewExample.onDestroyView(), 0, CHECKERS_FRAGMENT_RETAINS_VIEW, [return from a call to void FragmentRetainsViewExample.onDestroyView()] -codetoanalyze/java/checkers/FragmentRetainsViewExample.java, void FragmentRetainsViewExample.onDestroyView(), 0, CHECKERS_FRAGMENT_RETAINS_VIEW, [return from a call to void FragmentRetainsViewExample.onDestroyView()] -codetoanalyze/java/checkers/ImmutableCast.java, List ImmutableCast.badCast(ImmutableList), 0, CHECKERS_IMMUTABLE_CAST, [Method badCast(...) returns class com.google.common.collect.ImmutableList but the return type is class java.util.List. Make sure that users of this method do not try to modify the collection.] -codetoanalyze/java/checkers/ImmutableCast.java, List ImmutableCast.badCastFromField(), 0, CHECKERS_IMMUTABLE_CAST, [Method badCastFromField() returns class com.google.common.collect.ImmutableList but the return type is class java.util.List. Make sure that users of this method do not try to modify the collection.] -codetoanalyze/java/checkers/NoAllocationExample.java, void NoAllocationExample.directlyAllocatingMethod(), 1, CHECKERS_ALLOCATES_MEMORY, [] -codetoanalyze/java/checkers/NoAllocationExample.java, void NoAllocationExample.indirectlyAllocatingMethod(), 1, CHECKERS_ALLOCATES_MEMORY, [] -codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullBad(), 1, FIELD_SHOULD_BE_NULLABLE, [Field obj0 is assigned null here] -codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullToFieldInOtherClassBad(), 2, FIELD_SHOULD_BE_NULLABLE, [Field obj2 is assigned null here] -codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullToFieldTransitiveBad(boolean), 3, FIELD_SHOULD_BE_NULLABLE, [Field obj0 could be assigned here,Variable could be assigned here,Variable could be assigned here,Variable is assigned null here] -codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullToFieldTransitiveLoopBad(int), 7, FIELD_SHOULD_BE_NULLABLE, [Field obj0 could be assigned here,Some array element could be assigned here,Variable is assigned null here] -codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.compareNullToFieldBad(), 2, FIELD_SHOULD_BE_NULLABLE, [Field obj0 is compared to null here] -codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.multipleChainsAlwaysSelectShortestBad(boolean), 6, FIELD_SHOULD_BE_NULLABLE, [Field obj0 could be assigned here,Variable is assigned null here] -codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodBad(), 1, NULLABLE_DEREFERENCE, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] -codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodInElseBranchBad(), 3, NULLABLE_DEREFERENCE, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] -codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodIncorrectlyCheckedForNullBad(), 2, NULLABLE_DEREFERENCE, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] -codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodNotAlwaysCheckedForNullBad(), 2, NULLABLE_DEREFERENCE, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] -codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableReturnValueBad(), 2, NULLABLE_DEREFERENCE, [dereference of &t,assignment of the nullable value,definition of returnsNullable] -codetoanalyze/java/checkers/PrintfArgsChecker.java, void PrintfArgsChecker.formatStringIsNotLiteral(PrintStream), 2, CHECKERS_PRINTF_ARGS, [Format string must be string literal] -codetoanalyze/java/checkers/PrintfArgsChecker.java, void PrintfArgsChecker.stringInsteadOfInteger(PrintStream), 1, CHECKERS_PRINTF_ARGS, [] -codetoanalyze/java/checkers/PrintfArgsChecker.java, void PrintfArgsChecker.wrongNumberOfArguments(PrintStream), 1, CHECKERS_PRINTF_ARGS, [] -codetoanalyze/java/checkers/PrintfArgsChecker.java, void SuppressedPrintfArgsChecker.classSuppressed(PrintStream), 1, CHECKERS_PRINTF_ARGS, [] -codetoanalyze/java/checkers/TwoCheckersExample.java, List TwoCheckersExample.shouldRaiseImmutableCastError(), 0, CHECKERS_IMMUTABLE_CAST, [Method shouldRaiseImmutableCastError() returns class com.google.common.collect.ImmutableList but the return type is class java.util.List. Make sure that users of this method do not try to modify the collection.] -codetoanalyze/java/checkers/TwoCheckersExample.java, List TwoCheckersExample.shouldRaisePerformanceCriticalError(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, [] -codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callForNonUiThreadBad1(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, [] -codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callForNonUiThreadBad2(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, [] -codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callUiThreadBad1(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, [] -codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callUiThreadBad2(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, [] +codetoanalyze/java/checkers/AnnotationReachabilityDuplicatesExample.java, void AnnotationReachabilityDuplicatesExample.perfCriticalBad1(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/AnnotationReachabilityDuplicatesExample.java, void AnnotationReachabilityDuplicatesExample.perfCriticalBad2(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/CustomAnnotations.java, void CustomAnnotations.source1Bad(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, ERROR, [] +codetoanalyze/java/checkers/CustomAnnotations.java, void CustomAnnotations.source2Bad(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, View ExpensiveCallExample.callsFindViewByIdFromActivity(FragmentActivity,int), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, View ExpensiveCallExample.callsFindViewByIdFromView(ImageView,int), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.annotatedPerformanceCriticalInInterface(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callMethodOnExpensiveClass(ExpensiveClass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callingExpensiveMethodFromInterface(ExpensiveInterfaceExample), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveInConditionalBranch(), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveInTheUnlikelyElseBranch(), 4, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveWithDisjunctionAfterUnlikely(), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.callsExpensiveWithOverriddenUnlikelyCondition(), 4, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.directlyCallingExpensiveMethod(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.indirectlyCallingExpensiveMethod(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.longerCallStackToExpensive(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void ExpensiveCallExample.onlyOneExpensiveCallUsingUnlikely(), 4, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalClass.performanceCriticalMethod1(ExpensiveClass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalClass.performanceCriticalMethod2(Other), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalClass.performanceCriticalMethod3(Other), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalSubclass.subclassPerformanceCriticalMethod1(ExpensiveClass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalSubclass.subclassPerformanceCriticalMethod2(ExpensiveSubclass), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveCallExample.java, void PerformanceCriticalSubclass.subclassPerformanceCriticalMethod3(Other), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveInheritanceExample.java, void ExpensiveInheritanceExample.doesReportBecauseTypeFlowInsensitive(A), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveInheritanceExample.java, void ExpensiveInheritanceExample.reportsAssumingObjectOfTypeA(), 2, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveInheritanceExample.java, void ExpensiveInheritanceExample.reportsBecauseFooIsExpensiveInA(A), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveInterfaceExample.java, void ExpensiveInterfaceExample$ImplementsInterface.m1(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/ExpensiveSubtypingExample.java, void ExpensiveSubtypingExample.m3(), 0, CHECKERS_EXPENSIVE_OVERRIDES_UNANNOTATED, ERROR, [return from a call to void ExpensiveSubtypingExample.m3()] +codetoanalyze/java/checkers/FragmentRetainsViewExample.java, void FragmentRetainsViewExample.onDestroyView(), 0, CHECKERS_FRAGMENT_RETAINS_VIEW, ERROR, [return from a call to void FragmentRetainsViewExample.onDestroyView()] +codetoanalyze/java/checkers/FragmentRetainsViewExample.java, void FragmentRetainsViewExample.onDestroyView(), 0, CHECKERS_FRAGMENT_RETAINS_VIEW, ERROR, [return from a call to void FragmentRetainsViewExample.onDestroyView()] +codetoanalyze/java/checkers/FragmentRetainsViewExample.java, void FragmentRetainsViewExample.onDestroyView(), 0, CHECKERS_FRAGMENT_RETAINS_VIEW, ERROR, [return from a call to void FragmentRetainsViewExample.onDestroyView()] +codetoanalyze/java/checkers/ImmutableCast.java, List ImmutableCast.badCast(ImmutableList), 0, CHECKERS_IMMUTABLE_CAST, ERROR, [Method badCast(...) returns class com.google.common.collect.ImmutableList but the return type is class java.util.List. Make sure that users of this method do not try to modify the collection.] +codetoanalyze/java/checkers/ImmutableCast.java, List ImmutableCast.badCastFromField(), 0, CHECKERS_IMMUTABLE_CAST, ERROR, [Method badCastFromField() returns class com.google.common.collect.ImmutableList but the return type is class java.util.List. Make sure that users of this method do not try to modify the collection.] +codetoanalyze/java/checkers/NoAllocationExample.java, void NoAllocationExample.directlyAllocatingMethod(), 1, CHECKERS_ALLOCATES_MEMORY, ERROR, [] +codetoanalyze/java/checkers/NoAllocationExample.java, void NoAllocationExample.indirectlyAllocatingMethod(), 1, CHECKERS_ALLOCATES_MEMORY, ERROR, [] +codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullBad(), 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field obj0 is assigned null here] +codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullToFieldInOtherClassBad(), 2, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field obj2 is assigned null here] +codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullToFieldTransitiveBad(boolean), 3, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field obj0 could be assigned here,Variable could be assigned here,Variable could be assigned here,Variable is assigned null here] +codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.assignNullToFieldTransitiveLoopBad(int), 7, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field obj0 could be assigned here,Some array element could be assigned here,Variable is assigned null here] +codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.compareNullToFieldBad(), 2, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field obj0 is compared to null here] +codetoanalyze/java/checkers/NullableSuggest.java, void NullableSuggest.multipleChainsAlwaysSelectShortestBad(boolean), 6, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field obj0 could be assigned here,Variable is assigned null here] +codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodBad(), 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] +codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodInElseBranchBad(), 3, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] +codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodIncorrectlyCheckedForNullBad(), 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] +codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableMethodNotAlwaysCheckedForNullBad(), 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of NullableViolation.returnsNullable(),definition of returnsNullable] +codetoanalyze/java/checkers/NullableViolation.java, void NullableViolation.dereferenceNullableReturnValueBad(), 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &t,assignment of the nullable value,definition of returnsNullable] +codetoanalyze/java/checkers/PrintfArgsChecker.java, void PrintfArgsChecker.formatStringIsNotLiteral(PrintStream), 2, CHECKERS_PRINTF_ARGS, ERROR, [Format string must be string literal] +codetoanalyze/java/checkers/PrintfArgsChecker.java, void PrintfArgsChecker.stringInsteadOfInteger(PrintStream), 1, CHECKERS_PRINTF_ARGS, ERROR, [] +codetoanalyze/java/checkers/PrintfArgsChecker.java, void PrintfArgsChecker.wrongNumberOfArguments(PrintStream), 1, CHECKERS_PRINTF_ARGS, ERROR, [] +codetoanalyze/java/checkers/PrintfArgsChecker.java, void SuppressedPrintfArgsChecker.classSuppressed(PrintStream), 1, CHECKERS_PRINTF_ARGS, ERROR, [] +codetoanalyze/java/checkers/TwoCheckersExample.java, List TwoCheckersExample.shouldRaiseImmutableCastError(), 0, CHECKERS_IMMUTABLE_CAST, ERROR, [Method shouldRaiseImmutableCastError() returns class com.google.common.collect.ImmutableList but the return type is class java.util.List. Make sure that users of this method do not try to modify the collection.] +codetoanalyze/java/checkers/TwoCheckersExample.java, List TwoCheckersExample.shouldRaisePerformanceCriticalError(), 1, CHECKERS_CALLS_EXPENSIVE_METHOD, ERROR, [] +codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callForNonUiThreadBad1(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, ERROR, [] +codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callForNonUiThreadBad2(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, ERROR, [] +codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callUiThreadBad1(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, ERROR, [] +codetoanalyze/java/checkers/UiThreads.java, void UiThreads.callUiThreadBad2(), 1, CHECKERS_ANNOTATION_REACHABILITY_ERROR, ERROR, [] diff --git a/infer/tests/codetoanalyze/java/eradicate/issues.exp b/infer/tests/codetoanalyze/java/eradicate/issues.exp index 6e7e917f5..bb3f36175 100644 --- a/infer/tests/codetoanalyze/java/eradicate/issues.exp +++ b/infer/tests/codetoanalyze/java/eradicate/issues.exp @@ -1,78 +1,78 @@ -codetoanalyze/java/eradicate/ActivityFieldNotInitialized.java, ActivityFieldNotInitialized$BadActivityWithOnCreate.(ActivityFieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `ActivityFieldNotInitialized$BadActivityWithOnCreate.field` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.m12Bad1(), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `m12(...)` in the call to `length()` could be null. (Origin: call to m12(...) at line 118)] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.m12Bad2(), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `m12(...)` in the call to `length()` could be null. (Origin: call to m12(...) at line 122)] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.m2Bad(), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `m2(...)` in the call to `length()` could be null. (Origin: call to m2(...) at line 105)] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.mBad(), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `m(...)` in the call to `length()` could be null. (Origin: call to m(...) at line 83)] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestTextUtilsIsEmpty.myTextUtilsIsEmpty(CharSequence), 2, ERADICATE_NULL_METHOD_CALL, [The value of `s` in the call to `toString()` could be null. (Origin: method parameter s)] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestTextUtilsIsEmpty.myTextUtilsNotIsNotEmpty(CharSequence), 2, ERADICATE_NULL_METHOD_CALL, [The value of `s` in the call to `toString()` could be null. (Origin: method parameter s)] -codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestTextUtilsIsEmpty.textUtilsIsEmpty(CharSequence), 2, ERADICATE_NULL_METHOD_CALL, [The value of `s` in the call to `toString()` could be null. (Origin: method parameter s)] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$ConditionalFieldInit.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized$ConditionalFieldInit.o1` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$InitCircular.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized$InitCircular.s` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$OnlyRead.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized$OnlyRead.o` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$OnlyReadIndirect.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized$OnlyReadIndirect.o1` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$Swap.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized$Swap.o1` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$WriteItself.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized$WriteItself.o` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized.(), 0, ERADICATE_FIELD_NOT_INITIALIZED, [Field `FieldNotInitialized.a` is not initialized in the constructor and is not declared `@Nullable`] -codetoanalyze/java/eradicate/FieldNotNullable.java, FieldNotNullable.(Integer), -25, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `FieldNotNullable.static_s` can be null but is not declared `@Nullable`. (Origin: null constant at line 37)] -codetoanalyze/java/eradicate/FieldNotNullable.java, FieldNotNullable.(String), -2, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `FieldNotNullable.static_s` can be null but is not declared `@Nullable`. (Origin: null constant at line 37)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void FieldNotNullable.setYNull(), 1, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `FieldNotNullable.y` can be null but is not declared `@Nullable`. (Origin: null constant at line 55)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void FieldNotNullable.setYNullable(String), 1, ERADICATE_FIELD_NOT_NULLABLE, [Field `FieldNotNullable.y` can be null but is not declared `@Nullable`. (Origin: method parameter s)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.FlatBAD1(NestedFieldAccess$TestFunctionsIdempotent), 2, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 251)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.FlatBAD2(NestedFieldAccess$TestFunctionsIdempotent), 2, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 257)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.NestedBAD1(), 2, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 275)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.NestedBAD2(), 2, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 281)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.NestedBAD3(), 2, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 287)] -codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestPut.putNull(Map,String), 3, ERADICATE_FIELD_NOT_NULLABLE, [origin,Field `NestedFieldAccess$TestPut.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: null constant at line 325)] -codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, String InconsistentSubclassAnnotation.implementInAnotherFile(String), 0, ERADICATE_INCONSISTENT_SUBCLASS_PARAMETER_ANNOTATION, [First parameter `s` of method `InconsistentSubclassAnnotation.implementInAnotherFile(...)` is not `@Nullable` but is declared `@Nullable`in the parent class method `InconsistentSubclassAnnotationInterface.implementInAnotherFile(...)`.] -codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, SubclassExample$T SubclassExample$B.foo(), 0, ERADICATE_INCONSISTENT_SUBCLASS_RETURN_ANNOTATION, [Method `SubclassExample$B.foo()` is annotated with `@Nullable` but overrides unannotated method `SubclassExample$A.foo()`.] -codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, SubclassExample$T SubclassExample$C.baz(), 0, ERADICATE_INCONSISTENT_SUBCLASS_RETURN_ANNOTATION, [Method `SubclassExample$C.baz()` is annotated with `@Nullable` but overrides unannotated method `SubclassExample$I.baz()`.] -codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, void SubclassExample$D.deref(SubclassExample$T), 0, ERADICATE_INCONSISTENT_SUBCLASS_PARAMETER_ANNOTATION, [First parameter `t` of method `SubclassExample$D.deref(...)` is not `@Nullable` but is declared `@Nullable`in the parent class method `SubclassExample$A.deref(...)`.] -codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badAtomicReferenceDereference(AtomicReference), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 37)] -codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badPhantomReferenceDereference(PhantomReference), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 29)] -codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badReferenceDereference(Reference), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 21)] -codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badSoftReferenceDereference(SoftReference), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 33)] -codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badWeakReferenceDereference(WeakReference), 1, ERADICATE_NULL_METHOD_CALL, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 25)] -codetoanalyze/java/eradicate/NullFieldAccess.java, Object NullFieldAccess.arrayAccess(), 1, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `NullFieldAccess.objects` could be null when accessing element at index `0`. (Origin: field NullFieldAccess.objects at line 63)] -codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.arrayLength(), 1, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `NullFieldAccess.objects` could be null when accessing field `length`. (Origin: field NullFieldAccess.objects at line 59)] -codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.useInterface(NullFieldAccess$I), 2, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `c` could be null when accessing field `NullFieldAccess$C.n`. (Origin: field NullFieldAccess$I.c at line 52)] -codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.useX(), 2, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `c` could be null when accessing field `NullFieldAccess$C.n`. (Origin: field NullFieldAccess.x at line 37)] -codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.useZ(), 2, ERADICATE_NULL_FIELD_ACCESS, [origin,Object `c` could be null when accessing field `NullFieldAccess$C.n`. (Origin: field NullFieldAccess.z at line 47)] -codetoanalyze/java/eradicate/NullMethodCall.java, int NullMethodCall$Inner.outerField(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `s` in the call to `length()` could be null. (Origin: field NullMethodCall.fld at line 74)] -codetoanalyze/java/eradicate/NullMethodCall.java, int NullMethodCall$Inner.outerPrivateField(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `s` in the call to `length()` could be null. (Origin: field NullMethodCall.pfld at line 85)] -codetoanalyze/java/eradicate/NullMethodCall.java, int NullMethodCall.testSystemGetenvBad(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `envValue` in the call to `length()` could be null. (Origin: call to getenv(...) modelled in modelTables.ml at line 246)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.FP_propagatesNonNullAfterComparisonFieldOkay(Object), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `NullMethodCall.nullableField` in the call to `toString()` could be null. (Origin: field NullMethodCall.nullableField at line 286)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.FP_propagatesNonNullAfterComparisonParameterOkay(Object,Object), 3, ERADICATE_NULL_METHOD_CALL, [The value of `nullableParameter` in the call to `toString()` could be null. (Origin: method parameter nullableParameter)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.callOnNull(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `s` in the call to `length()` could be null. (Origin: null constant at line 25)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testExceptionPerInstruction(int), 6, ERADICATE_NULL_METHOD_CALL, [origin,The value of `s` in the call to `length()` could be null. (Origin: null constant at line 186)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testFieldAssignmentIfThenElse(String), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `s` in the call to `length()` could be null. (Origin: null constant at line 177)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapGetBad(Map,HashMap,ConcurrentHashMap), 4, ERADICATE_NULL_METHOD_CALL, [origin,The value of `m.get(...)` in the call to `toString()` could be null. (Origin: call to get(...) modelled in modelTables.ml at line 269)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapGetBad(Map,HashMap,ConcurrentHashMap), 5, ERADICATE_NULL_METHOD_CALL, [origin,The value of `hm.get(...)` in the call to `toString()` could be null. (Origin: call to get(...) modelled in modelTables.ml at line 270)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapGetBad(Map,HashMap,ConcurrentHashMap), 6, ERADICATE_NULL_METHOD_CALL, [origin,The value of `chm.get(...)` in the call to `toString()` could be null. (Origin: call to get(...) modelled in modelTables.ml at line 271)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapRemoveBad(Map,HashMap,ConcurrentHashMap), 4, ERADICATE_NULL_METHOD_CALL, [origin,The value of `m.remove(...)` in the call to `toString()` could be null. (Origin: call to remove(...) modelled in modelTables.ml at line 278)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapRemoveBad(Map,HashMap,ConcurrentHashMap), 5, ERADICATE_NULL_METHOD_CALL, [origin,The value of `hm.remove(...)` in the call to `toString()` could be null. (Origin: call to remove(...) modelled in modelTables.ml at line 279)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapRemoveBad(Map,HashMap,ConcurrentHashMap), 6, ERADICATE_NULL_METHOD_CALL, [origin,The value of `chm.remove(...)` in the call to `toString()` could be null. (Origin: call to remove(...) modelled in modelTables.ml at line 280)] -codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testSystemGetPropertyReturn(), 2, ERADICATE_NULL_METHOD_CALL, [origin,The value of `s` in the call to `length()` could be null. (Origin: call to getProperty(...) modelled in modelTables.ml at line 241)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, ParameterNotNullable$ConstructorCall.(ParameterNotNullable,int), 1, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`ParameterNotNullable$ConstructorCall(...)` needs a non-null value in parameter 2 but argument `null` can be null. (Origin: null constant at line 102)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, String ParameterNotNullable.testSystemGetPropertyArgument(), 1, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`getProperty(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 71)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, String ParameterNotNullable.testSystemGetenvBad(), 1, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`getenv(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 76)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, URL ParameterNotNullable.testClassGetResourceArgument(Class), 1, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`getResource(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 80)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.callNull(), 2, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`test(...)` needs a non-null value in parameter 1 but argument `s` can be null. (Origin: null constant at line 38)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.callNullable(String), 1, ERADICATE_PARAMETER_NOT_NULLABLE, [`test(...)` needs a non-null value in parameter 1 but argument `s` can be null. (Origin: method parameter s)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.testThreeParameters(), 2, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`threeParameters(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 88)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.testThreeParameters(), 3, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`threeParameters(...)` needs a non-null value in parameter 2 but argument `null` can be null. (Origin: null constant at line 89)] -codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.testThreeParameters(), 4, ERADICATE_PARAMETER_NOT_NULLABLE, [origin,`threeParameters(...)` needs a non-null value in parameter 3 but argument `null` can be null. (Origin: null constant at line 90)] -codetoanalyze/java/eradicate/PresentTest.java, Optional PresentTest$TestPresentAnnotationBasic.returnPresentBad(), 0, ERADICATE_RETURN_VALUE_NOT_PRESENT, [origin,Method `returnPresentBad()` may return an absent value but it is annotated with `@Present`. (Origin: field PresentTest$TestPresentAnnotationBasic.absent at line 47)] -codetoanalyze/java/eradicate/PresentTest.java, Optional PresentTest$TestPresentAnnotationBasic.returnPresentBad(), 1, ERADICATE_VALUE_NOT_PRESENT, [origin,The value of `PresentTest$TestPresentAnnotationBasic.absent` in the call to `get()` is not `@Present`. (Origin: field PresentTest$TestPresentAnnotationBasic.absent at line 47)] -codetoanalyze/java/eradicate/PresentTest.java, void PresentTest$TestPresentAnnotationBasic.testOptionalAbsent(), 1, ERADICATE_PARAMETER_VALUE_ABSENT, [origin,`expectPresent(...)` needs a present value in parameter 1 but argument `absent()` can be absent. (Origin: call to absent() at line 65)] -codetoanalyze/java/eradicate/PresentTest.java, void PresentTest.testPresent(Optional,Optional), 4, ERADICATE_PARAMETER_VALUE_ABSENT, [`argPresent(...)` needs a present value in parameter 1 but argument `absent` can be absent. (Origin: method parameter absent)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, Object ReturnNotNullable$ConditionalAssignment.test(boolean), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `test(...)` may return null but it is not annotated with `@Nullable`. (Origin: field ReturnNotNullable$ConditionalAssignment.f1 at line 147)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, Object ReturnNotNullable.tryWithResourcesReturnNullable(String), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `tryWithResourcesReturnNullable(...)` may return null but it is not annotated with `@Nullable`. (Origin: call to returnNullOK() at line 92)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantEq(), 0, ERADICATE_RETURN_OVER_ANNOTATED, [Method `redundantEq()` is annotated with `@Nullable` but never returns null.] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantEq(), 2, ERADICATE_CONDITION_REDUNDANT_NONNULL, [The condition s is always false according to the existing annotations.] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantNeq(), 0, ERADICATE_RETURN_OVER_ANNOTATED, [Method `redundantNeq()` is annotated with `@Nullable` but never returns null.] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantNeq(), 2, ERADICATE_CONDITION_REDUNDANT_NONNULL, [The condition s is always true according to the existing annotations.] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.returnNull(), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `returnNull()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 35)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.returnNullable(String), 0, ERADICATE_RETURN_NOT_NULLABLE, [Method `returnNullable(...)` may return null but it is not annotated with `@Nullable`. (Origin: method parameter s)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.return_null_in_catch(), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `return_null_in_catch()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 111)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.return_null_in_catch_after_throw(), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `return_null_in_catch_after_throw()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 123)] -codetoanalyze/java/eradicate/ReturnNotNullable.java, URL ReturnNotNullable.getResourceNullable(Class,String), 0, ERADICATE_RETURN_NOT_NULLABLE, [origin,Method `getResourceNullable(...)` may return null but it is not annotated with `@Nullable`. (Origin: call to getResource(...) modelled in modelTables.ml at line 128)] +codetoanalyze/java/eradicate/ActivityFieldNotInitialized.java, ActivityFieldNotInitialized$BadActivityWithOnCreate.(ActivityFieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `ActivityFieldNotInitialized$BadActivityWithOnCreate.field` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.m12Bad1(), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `m12(...)` in the call to `length()` could be null. (Origin: call to m12(...) at line 118)] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.m12Bad2(), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `m12(...)` in the call to `length()` could be null. (Origin: call to m12(...) at line 122)] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.m2Bad(), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `m2(...)` in the call to `length()` could be null. (Origin: call to m2(...) at line 105)] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestPropagatesNullable.mBad(), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `m(...)` in the call to `length()` could be null. (Origin: call to m(...) at line 83)] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestTextUtilsIsEmpty.myTextUtilsIsEmpty(CharSequence), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [The value of `s` in the call to `toString()` could be null. (Origin: method parameter s)] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestTextUtilsIsEmpty.myTextUtilsNotIsNotEmpty(CharSequence), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [The value of `s` in the call to `toString()` could be null. (Origin: method parameter s)] +codetoanalyze/java/eradicate/CustomAnnotations.java, void CustomAnnotations$TestTextUtilsIsEmpty.textUtilsIsEmpty(CharSequence), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [The value of `s` in the call to `toString()` could be null. (Origin: method parameter s)] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$ConditionalFieldInit.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized$ConditionalFieldInit.o1` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$InitCircular.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized$InitCircular.s` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$OnlyRead.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized$OnlyRead.o` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$OnlyReadIndirect.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized$OnlyReadIndirect.o1` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$Swap.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized$Swap.o1` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized$WriteItself.(FieldNotInitialized), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized$WriteItself.o` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotInitialized.java, FieldNotInitialized.(), 0, ERADICATE_FIELD_NOT_INITIALIZED, ERROR, [Field `FieldNotInitialized.a` is not initialized in the constructor and is not declared `@Nullable`] +codetoanalyze/java/eradicate/FieldNotNullable.java, FieldNotNullable.(Integer), -25, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `FieldNotNullable.static_s` can be null but is not declared `@Nullable`. (Origin: null constant at line 37)] +codetoanalyze/java/eradicate/FieldNotNullable.java, FieldNotNullable.(String), -2, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `FieldNotNullable.static_s` can be null but is not declared `@Nullable`. (Origin: null constant at line 37)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void FieldNotNullable.setYNull(), 1, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `FieldNotNullable.y` can be null but is not declared `@Nullable`. (Origin: null constant at line 55)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void FieldNotNullable.setYNullable(String), 1, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [Field `FieldNotNullable.y` can be null but is not declared `@Nullable`. (Origin: method parameter s)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.FlatBAD1(NestedFieldAccess$TestFunctionsIdempotent), 2, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 251)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.FlatBAD2(NestedFieldAccess$TestFunctionsIdempotent), 2, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 257)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.NestedBAD1(), 2, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 275)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.NestedBAD2(), 2, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 281)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestFunctionsIdempotent.NestedBAD3(), 2, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `NestedFieldAccess$TestFunctionsIdempotent.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: call to getS(...) at line 287)] +codetoanalyze/java/eradicate/FieldNotNullable.java, void NestedFieldAccess$TestPut.putNull(Map,String), 3, ERADICATE_FIELD_NOT_NULLABLE, ERROR, [origin,Field `NestedFieldAccess$TestPut.dontAssignNull` can be null but is not declared `@Nullable`. (Origin: null constant at line 325)] +codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, String InconsistentSubclassAnnotation.implementInAnotherFile(String), 0, ERADICATE_INCONSISTENT_SUBCLASS_PARAMETER_ANNOTATION, ERROR, [First parameter `s` of method `InconsistentSubclassAnnotation.implementInAnotherFile(...)` is not `@Nullable` but is declared `@Nullable`in the parent class method `InconsistentSubclassAnnotationInterface.implementInAnotherFile(...)`.] +codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, SubclassExample$T SubclassExample$B.foo(), 0, ERADICATE_INCONSISTENT_SUBCLASS_RETURN_ANNOTATION, ERROR, [Method `SubclassExample$B.foo()` is annotated with `@Nullable` but overrides unannotated method `SubclassExample$A.foo()`.] +codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, SubclassExample$T SubclassExample$C.baz(), 0, ERADICATE_INCONSISTENT_SUBCLASS_RETURN_ANNOTATION, ERROR, [Method `SubclassExample$C.baz()` is annotated with `@Nullable` but overrides unannotated method `SubclassExample$I.baz()`.] +codetoanalyze/java/eradicate/InconsistentSubclassAnnotation.java, void SubclassExample$D.deref(SubclassExample$T), 0, ERADICATE_INCONSISTENT_SUBCLASS_PARAMETER_ANNOTATION, ERROR, [First parameter `t` of method `SubclassExample$D.deref(...)` is not `@Nullable` but is declared `@Nullable`in the parent class method `SubclassExample$A.deref(...)`.] +codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badAtomicReferenceDereference(AtomicReference), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 37)] +codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badPhantomReferenceDereference(PhantomReference), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 29)] +codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badReferenceDereference(Reference), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 21)] +codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badSoftReferenceDereference(SoftReference), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 33)] +codetoanalyze/java/eradicate/LibraryCalls.java, String LibraryCalls.badWeakReferenceDereference(WeakReference), 1, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `ref.get()` in the call to `toString()` could be null. (Origin: call to get() modelled in modelTables.ml at line 25)] +codetoanalyze/java/eradicate/NullFieldAccess.java, Object NullFieldAccess.arrayAccess(), 1, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `NullFieldAccess.objects` could be null when accessing element at index `0`. (Origin: field NullFieldAccess.objects at line 63)] +codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.arrayLength(), 1, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `NullFieldAccess.objects` could be null when accessing field `length`. (Origin: field NullFieldAccess.objects at line 59)] +codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.useInterface(NullFieldAccess$I), 2, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `c` could be null when accessing field `NullFieldAccess$C.n`. (Origin: field NullFieldAccess$I.c at line 52)] +codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.useX(), 2, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `c` could be null when accessing field `NullFieldAccess$C.n`. (Origin: field NullFieldAccess.x at line 37)] +codetoanalyze/java/eradicate/NullFieldAccess.java, int NullFieldAccess.useZ(), 2, ERADICATE_NULL_FIELD_ACCESS, ERROR, [origin,Object `c` could be null when accessing field `NullFieldAccess$C.n`. (Origin: field NullFieldAccess.z at line 47)] +codetoanalyze/java/eradicate/NullMethodCall.java, int NullMethodCall$Inner.outerField(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `s` in the call to `length()` could be null. (Origin: field NullMethodCall.fld at line 74)] +codetoanalyze/java/eradicate/NullMethodCall.java, int NullMethodCall$Inner.outerPrivateField(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `s` in the call to `length()` could be null. (Origin: field NullMethodCall.pfld at line 85)] +codetoanalyze/java/eradicate/NullMethodCall.java, int NullMethodCall.testSystemGetenvBad(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `envValue` in the call to `length()` could be null. (Origin: call to getenv(...) modelled in modelTables.ml at line 246)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.FP_propagatesNonNullAfterComparisonFieldOkay(Object), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `NullMethodCall.nullableField` in the call to `toString()` could be null. (Origin: field NullMethodCall.nullableField at line 286)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.FP_propagatesNonNullAfterComparisonParameterOkay(Object,Object), 3, ERADICATE_NULL_METHOD_CALL, ERROR, [The value of `nullableParameter` in the call to `toString()` could be null. (Origin: method parameter nullableParameter)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.callOnNull(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `s` in the call to `length()` could be null. (Origin: null constant at line 25)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testExceptionPerInstruction(int), 6, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `s` in the call to `length()` could be null. (Origin: null constant at line 186)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testFieldAssignmentIfThenElse(String), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `s` in the call to `length()` could be null. (Origin: null constant at line 177)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapGetBad(Map,HashMap,ConcurrentHashMap), 4, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `m.get(...)` in the call to `toString()` could be null. (Origin: call to get(...) modelled in modelTables.ml at line 269)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapGetBad(Map,HashMap,ConcurrentHashMap), 5, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `hm.get(...)` in the call to `toString()` could be null. (Origin: call to get(...) modelled in modelTables.ml at line 270)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapGetBad(Map,HashMap,ConcurrentHashMap), 6, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `chm.get(...)` in the call to `toString()` could be null. (Origin: call to get(...) modelled in modelTables.ml at line 271)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapRemoveBad(Map,HashMap,ConcurrentHashMap), 4, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `m.remove(...)` in the call to `toString()` could be null. (Origin: call to remove(...) modelled in modelTables.ml at line 278)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapRemoveBad(Map,HashMap,ConcurrentHashMap), 5, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `hm.remove(...)` in the call to `toString()` could be null. (Origin: call to remove(...) modelled in modelTables.ml at line 279)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testMapRemoveBad(Map,HashMap,ConcurrentHashMap), 6, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `chm.remove(...)` in the call to `toString()` could be null. (Origin: call to remove(...) modelled in modelTables.ml at line 280)] +codetoanalyze/java/eradicate/NullMethodCall.java, void NullMethodCall.testSystemGetPropertyReturn(), 2, ERADICATE_NULL_METHOD_CALL, ERROR, [origin,The value of `s` in the call to `length()` could be null. (Origin: call to getProperty(...) modelled in modelTables.ml at line 241)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, ParameterNotNullable$ConstructorCall.(ParameterNotNullable,int), 1, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`ParameterNotNullable$ConstructorCall(...)` needs a non-null value in parameter 2 but argument `null` can be null. (Origin: null constant at line 102)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, String ParameterNotNullable.testSystemGetPropertyArgument(), 1, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`getProperty(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 71)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, String ParameterNotNullable.testSystemGetenvBad(), 1, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`getenv(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 76)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, URL ParameterNotNullable.testClassGetResourceArgument(Class), 1, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`getResource(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 80)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.callNull(), 2, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`test(...)` needs a non-null value in parameter 1 but argument `s` can be null. (Origin: null constant at line 38)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.callNullable(String), 1, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [`test(...)` needs a non-null value in parameter 1 but argument `s` can be null. (Origin: method parameter s)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.testThreeParameters(), 2, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`threeParameters(...)` needs a non-null value in parameter 1 but argument `null` can be null. (Origin: null constant at line 88)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.testThreeParameters(), 3, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`threeParameters(...)` needs a non-null value in parameter 2 but argument `null` can be null. (Origin: null constant at line 89)] +codetoanalyze/java/eradicate/ParameterNotNullable.java, void ParameterNotNullable.testThreeParameters(), 4, ERADICATE_PARAMETER_NOT_NULLABLE, ERROR, [origin,`threeParameters(...)` needs a non-null value in parameter 3 but argument `null` can be null. (Origin: null constant at line 90)] +codetoanalyze/java/eradicate/PresentTest.java, Optional PresentTest$TestPresentAnnotationBasic.returnPresentBad(), 0, ERADICATE_RETURN_VALUE_NOT_PRESENT, ERROR, [origin,Method `returnPresentBad()` may return an absent value but it is annotated with `@Present`. (Origin: field PresentTest$TestPresentAnnotationBasic.absent at line 47)] +codetoanalyze/java/eradicate/PresentTest.java, Optional PresentTest$TestPresentAnnotationBasic.returnPresentBad(), 1, ERADICATE_VALUE_NOT_PRESENT, ERROR, [origin,The value of `PresentTest$TestPresentAnnotationBasic.absent` in the call to `get()` is not `@Present`. (Origin: field PresentTest$TestPresentAnnotationBasic.absent at line 47)] +codetoanalyze/java/eradicate/PresentTest.java, void PresentTest$TestPresentAnnotationBasic.testOptionalAbsent(), 1, ERADICATE_PARAMETER_VALUE_ABSENT, ERROR, [origin,`expectPresent(...)` needs a present value in parameter 1 but argument `absent()` can be absent. (Origin: call to absent() at line 65)] +codetoanalyze/java/eradicate/PresentTest.java, void PresentTest.testPresent(Optional,Optional), 4, ERADICATE_PARAMETER_VALUE_ABSENT, ERROR, [`argPresent(...)` needs a present value in parameter 1 but argument `absent` can be absent. (Origin: method parameter absent)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, Object ReturnNotNullable$ConditionalAssignment.test(boolean), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `test(...)` may return null but it is not annotated with `@Nullable`. (Origin: field ReturnNotNullable$ConditionalAssignment.f1 at line 147)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, Object ReturnNotNullable.tryWithResourcesReturnNullable(String), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `tryWithResourcesReturnNullable(...)` may return null but it is not annotated with `@Nullable`. (Origin: call to returnNullOK() at line 92)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantEq(), 0, ERADICATE_RETURN_OVER_ANNOTATED, ERROR, [Method `redundantEq()` is annotated with `@Nullable` but never returns null.] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantEq(), 2, ERADICATE_CONDITION_REDUNDANT_NONNULL, ERROR, [The condition s is always false according to the existing annotations.] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantNeq(), 0, ERADICATE_RETURN_OVER_ANNOTATED, ERROR, [Method `redundantNeq()` is annotated with `@Nullable` but never returns null.] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.redundantNeq(), 2, ERADICATE_CONDITION_REDUNDANT_NONNULL, ERROR, [The condition s is always true according to the existing annotations.] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.returnNull(), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `returnNull()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 35)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.returnNullable(String), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [Method `returnNullable(...)` may return null but it is not annotated with `@Nullable`. (Origin: method parameter s)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.return_null_in_catch(), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `return_null_in_catch()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 111)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, String ReturnNotNullable.return_null_in_catch_after_throw(), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `return_null_in_catch_after_throw()` may return null but it is not annotated with `@Nullable`. (Origin: null constant at line 123)] +codetoanalyze/java/eradicate/ReturnNotNullable.java, URL ReturnNotNullable.getResourceNullable(Class,String), 0, ERADICATE_RETURN_NOT_NULLABLE, ERROR, [origin,Method `getResourceNullable(...)` may return null but it is not annotated with `@Nullable`. (Origin: call to getResource(...) modelled in modelTables.ml at line 128)] diff --git a/infer/tests/codetoanalyze/java/infer/issues.exp b/infer/tests/codetoanalyze/java/infer/issues.exp index bda193a55..2275e191e 100644 --- a/infer/tests/codetoanalyze/java/infer/issues.exp +++ b/infer/tests/codetoanalyze/java/infer/issues.exp @@ -1,210 +1,210 @@ -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.accessPathInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure accessPathInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure accessPathOnParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.callOnCastUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.callOnUndefinedObjMayCauseFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure callOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure retZero(),return from a call to int AnalysisStops$MyObj.retZero()] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference()] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadAferCastMayCauseFalseNegative(Iterator), 6, DIVIDE_BY_ZERO, [start of procedure fieldReadAferCastMayCauseFalseNegative(...),Skipping toString(): unknown method,Taking true branch] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure fieldReadOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2()] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure fieldWriteOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2()] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.heapFieldOfAngelicObjMayCauseFalseNegative(), 4, DIVIDE_BY_ZERO, [start of procedure heapFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.infiniteMaterializationMayCauseFalseNegative(boolean), 5, DIVIDE_BY_ZERO, [start of procedure infiniteMaterializationMayCauseFalseNegative(...),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(), 5, DIVIDE_BY_ZERO, [start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.recursiveAngelicTypesMayCauseFalseNegative(), 4, DIVIDE_BY_ZERO, [start of procedure recursiveAngelicTypesMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2()] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative(), 5, NULL_DEREFERENCE, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Taking false branch] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseCalleeFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero()] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseInterprocFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure divideByParam(...)] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseLocalFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure skipPointerDerefMayCauseLocalFalseNegative(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.specInferenceMayFailAndCauseFalseNegative(boolean,Iterator), 26, DIVIDE_BY_ZERO, [start of procedure specInferenceMayFailAndCauseFalseNegative(...),start of procedure skipPointerDerefMayCauseLocalFalseNegative(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to void AnalysisStops.skipPointerDerefMayCauseLocalFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetObj(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to Object AnalysisStops.skipPointerDerefPreventsSpecInferenceRetObj(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to void AnalysisStops.skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure divideByParam(...),return from a call to void AnalysisStops.divideByParam(int),return from a call to void AnalysisStops.skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),return from a call to void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),Skipping toString(): unknown method,return from a call to void AnalysisStops.callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure callOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure retZero(),return from a call to int AnalysisStops$MyObj.retZero(),return from a call to void AnalysisStops.callOnUndefinedObjMayCauseFalseNegative(),start of procedure callOnUndefinedObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure retOne(),return from a call to int AnalysisStops$MyObj.retOne(),return from a call to void AnalysisStops.callOnUndefinedObjMayCauseFalsePositive(),start of procedure fieldWriteOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),return from a call to void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalseNegative(),start of procedure fieldWriteOnUndefinedObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Skipping toString(): unknown method,return from a call to void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalsePositive(),start of procedure fieldReadOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),return from a call to void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalseNegative(),start of procedure fieldReadOnUndefinedObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Skipping toString(): unknown method,return from a call to void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalsePositive(),start of procedure recursiveAngelicTypesMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),return from a call to void AnalysisStops.recursiveAngelicTypesMayCauseFalseNegative(),Skipping recursiveAngelicTypesMayCauseFalsePositive(): empty list of specs,Definition of recursiveAngelicTypesMayCauseFalsePositive(),start of procedure infiniteMaterializationMayCauseFalseNegative(...),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,return from a call to void AnalysisStops.infiniteMaterializationMayCauseFalseNegative(boolean),start of procedure infiniteMaterializationMayCauseFalsePositive(...),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,Skipping toString(): unknown method,return from a call to void AnalysisStops.infiniteMaterializationMayCauseFalsePositive(boolean),start of procedure primitiveFieldOfAngelicObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch,return from a call to void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalsePositive(),start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,return from a call to void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(),start of procedure heapFieldOfAngelicObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,return from a call to void AnalysisStops.heapFieldOfAngelicObjMayCauseFalsePositive(),start of procedure heapFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch,return from a call to void AnalysisStops.heapFieldOfAngelicObjMayCauseFalseNegative(),Skipping fieldReadAferCastMayCauseFalseNegative(...): empty list of specs,Definition of fieldReadAferCastMayCauseFalseNegative(...),start of procedure fieldReadInCalleeMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method,return from a call to void AnalysisStops.derefParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.fieldReadInCalleeMayCauseFalsePositive(),start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method,return from a call to void AnalysisStops.derefParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalsePositive(),start of procedure accessPathInCalleeMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure accessPathOnParam(...),Skipping toString(): unknown method,return from a call to void AnalysisStops.accessPathOnParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.accessPathInCalleeMayCauseFalsePositive()] -codetoanalyze/java/infer/ArrayOutOfBounds.java, int ArrayOutOfBounds.arrayOutOfBounds(), 2, ARRAY_OUT_OF_BOUNDS_L1, [start of procedure arrayOutOfBounds()] -codetoanalyze/java/infer/Builtins.java, void Builtins.causeError(Object), 2, NULL_DEREFERENCE, [start of procedure causeError(...),Taking true branch] -codetoanalyze/java/infer/Builtins.java, void Builtins.doNotBlockError(Object), 3, NULL_DEREFERENCE, [start of procedure doNotBlockError(...),Taking true branch] -codetoanalyze/java/infer/ClassCastExceptions.java, int ClassCastExceptions.classCastExceptionImplementsInterface(), 0, CLASS_CAST_EXCEPTION, [start of procedure classCastExceptionImplementsInterface(),start of procedure AnotherImplementationOfInterface(),return from a call to AnotherImplementationOfInterface.()] -codetoanalyze/java/infer/ClassCastExceptions.java, void ClassCastExceptions.classCastException(), 2, CLASS_CAST_EXCEPTION, [start of procedure classCastException(),start of procedure SubClassA(),start of procedure SuperClass(),return from a call to SuperClass.(),return from a call to SubClassA.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, T CloseableAsResourceExample.sourceOfNullWithResourceLeak(), 1, RESOURCE_LEAK, [start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.failToCloseWithCloseQuietly(), 5, RESOURCE_LEAK, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.leakFoundWhenIndirectlyImplementingCloseable(), 1, RESOURCE_LEAK, [start of procedure leakFoundWhenIndirectlyImplementingCloseable(),start of procedure CloseableAsResourceExample$MyResource(...),return from a call to CloseableAsResourceExample$MyResource.(CloseableAsResourceExample)] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClearinglocalMapContainingResourcesBad(), 4, RESOURCE_LEAK, [start of procedure notClearinglocalMapContainingResourcesBad(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingCloseable(), 1, RESOURCE_LEAK, [start of procedure notClosingCloseable(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingWrapper(), 2, RESOURCE_LEAK, [start of procedure notClosingWrapper(),start of procedure Resource(),return from a call to Resource.(),start of procedure Sub(...),start of procedure Wrapper(...),return from a call to Wrapper.(Resource),return from a call to Sub.(Resource),start of procedure close(),return from a call to void Resource.close()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.skippedVritualCallDoesNotCloseResourceOnReceiver(), 2, RESOURCE_LEAK, [start of procedure skippedVritualCallDoesNotCloseResourceOnReceiver(),start of procedure SomeResource(),return from a call to SomeResource.(),Skipping foo(...): method has no implementation,Definition of foo(...)] -codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.withException(), 4, RESOURCE_LEAK, [start of procedure withException(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] -codetoanalyze/java/infer/CursorLeaks.java, Object CursorLeaks.cursorClosedCheckNullCheckClosed_FP(SQLiteDatabase), 13, RESOURCE_LEAK, [start of procedure cursorClosedCheckNullCheckClosed_FP(...),Taking false branch,Skipping getString(...): unknown method,Taking true branch,Taking false branch] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.completeDownloadNotClosed(DownloadManager), 8, RESOURCE_LEAK, [start of procedure completeDownloadNotClosed(...),Taking false branch,Skipping getColumnIndex(...): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.cursorNotClosed(SQLiteDatabase), 4, RESOURCE_LEAK, [start of procedure cursorNotClosed(...),Skipping getCount(): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getBucketCountNotClosed(), 10, RESOURCE_LEAK, [start of procedure getBucketCountNotClosed(),Taking false branch,Taking false branch] -codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getImageCountHelperNotClosed(String), 13, RESOURCE_LEAK, [start of procedure getImageCountHelperNotClosed(...),Taking true branch,Skipping getInt(...): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.loadPrefsFromContentProviderNotClosed(), 11, RESOURCE_LEAK, [start of procedure loadPrefsFromContentProviderNotClosed(),Taking false branch,Taking true branch] -codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.queryUVMLegacyDbNotClosed(), 4, RESOURCE_LEAK, [start of procedure queryUVMLegacyDbNotClosed(),Skipping setTables(...): unknown method,Taking true branch] -codetoanalyze/java/infer/CursorNPEs.java, int CursorNPEs.cursorFromDownloadManagerNPE(DownloadManager), 5, NULL_DEREFERENCE, [start of procedure cursorFromDownloadManagerNPE(...)] -codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromContentResolverNPE(String), 12, NULL_DEREFERENCE, [start of procedure cursorFromContentResolverNPE(...)] -codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromMediaNPE(), 3, NULL_DEREFERENCE, [start of procedure cursorFromMediaNPE()] -codetoanalyze/java/infer/DivideByZero.java, int DivideByZero.callDivideByZeroInterProc(), 1, DIVIDE_BY_ZERO, [start of procedure callDivideByZeroInterProc(),start of procedure divideByZeroInterProc(...)] -codetoanalyze/java/infer/DivideByZero.java, int DivideByZero.divByZeroLocal(String), 3, DIVIDE_BY_ZERO, [start of procedure divByZeroLocal(...)] -codetoanalyze/java/infer/DivideByZero.java, int DivideByZero.divideByZeroWithStaticField(), 2, DIVIDE_BY_ZERO, [start of procedure divideByZeroWithStaticField(),start of procedure setXToZero(),return from a call to void DivideByZero.setXToZero(),start of procedure divideByZeroInterProc(...)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch$WithField.dispatchOnFieldBad(), 3, NULL_DEREFERENCE, [start of procedure dispatchOnFieldBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure DynamicDispatch$WithField(...),return from a call to DynamicDispatch$WithField.(DynamicDispatch$Subtype),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSubtypeBad(), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchCallsWrapperWithSubtypeBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure dynamicDispatchWrapperFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperFoo(DynamicDispatch$Subtype)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSupertypeBad(), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchCallsWrapperWithSupertypeBad(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),start of procedure dynamicDispatchWrapperBar(...),start of procedure bar(),return from a call to Object DynamicDispatch$Supertype.bar(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperBar(DynamicDispatch$Supertype)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotReportWhenCallingSupertype(DynamicDispatch$Subtype), 3, NULL_DEREFERENCE, [start of procedure dynamicDispatchShouldNotReportWhenCallingSupertype(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicResolutionWithPrivateMethodBad(), 2, NULL_DEREFERENCE, [start of procedure dynamicResolutionWithPrivateMethodBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure callFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.callFoo(DynamicDispatch$Subtype)] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, [start of procedure interfaceShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Impl(),return from a call to DynamicDispatch$Impl.(),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Impl), 1, NULL_DEREFERENCE, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure bufferedInputStreamNotClosedAfterRead(),Skipping BufferedInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure checkedInputStreamNotClosedAfterRead(),Skipping CheckedInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip(), 7, RESOURCE_LEAK, [start of procedure cipherInputStreamNotClosedAfterSkip(),Skipping CipherInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, [start of procedure dataInputStreamNotClosedAfterRead(),Skipping DataInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure deflaterInputStreamNotClosedAfterRead(),Skipping DeflaterInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, [start of procedure digestInputStreamNotClosedAfterRead(),Skipping DigestInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 4, RESOURCE_LEAK, [start of procedure gzipInputStreamNotClosedAfterRead()] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure gzipInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure inflaterInputStreamNotClosedAfterRead(),Skipping InflaterInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, [start of procedure pushbackInputStreamNotClosedAfterRead(),Skipping PushbackInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure bufferedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure checkedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure cipherOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure dataOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure deflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure digestOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure filterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 4, RESOURCE_LEAK, [start of procedure gzipOutputStreamNotClosedAfterFlush()] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 7, RESOURCE_LEAK, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure printStreamNotClosedAfterWrite()] -codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, UNSAFE_GUARDED_BY_ACCESS, [start of procedure byRefTrickyBad()] -codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$3.readFromInnerClassBad1(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFromInnerClassBad1()] -codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$4.readFromInnerClassBad2(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFromInnerClassBad2()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure badSub()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure badGuardedByNormalLock()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure badGuardedByReentrantLock()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure guardedByTypeSyntaxBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure guardedByTypeSyntaxBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFAfterBlockBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFBadWrongAnnotation()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readFBadWrongLock()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBad(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readHBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBadSynchronizedMethodShouldntHelp(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure readHBadSynchronizedMethodShouldntHelp()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure synchronizedMethodReadBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodWriteBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure synchronizedMethodWriteBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure synchronizedOnThisBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, [start of procedure writeFAfterBlockBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, [start of procedure writeFBad()] -codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, [start of procedure writeFBadWrongLock()] -codetoanalyze/java/infer/HashMapExample.java, int HashMapExample.getOneIntegerWithoutCheck(), 6, NULL_DEREFERENCE, [start of procedure getOneIntegerWithoutCheck()] -codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterClearBad(), 5, NULL_DEREFERENCE, [start of procedure getAfterClearBad()] -codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterRemovingTheKeyBad(), 5, NULL_DEREFERENCE, [start of procedure getAfterRemovingTheKeyBad()] -codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer), 11, NULL_DEREFERENCE, [start of procedure getTwoIntegersWithOneCheck(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/IntegerExample.java, void IntegerExample.testIntegerEqualsBad(), 6, NULL_DEREFERENCE, [start of procedure testIntegerEqualsBad(),Taking true branch] -codetoanalyze/java/infer/InvokeDynamic.java, int InvokeDynamic.lambda$npeInLambdaBad$1(String,String), 1, NULL_DEREFERENCE, [start of procedure lambda$npeInLambdaBad$1(...)] -codetoanalyze/java/infer/InvokeDynamic.java, void InvokeDynamic.invokeDynamicThenNpeBad(List), 5, NULL_DEREFERENCE, [start of procedure invokeDynamicThenNpeBad(...),Skipping sort(...): unknown method] -codetoanalyze/java/infer/JunitAssertion.java, void JunitAssertion.consistentAssertion(JunitAssertion$A), 1, PRECONDITION_NOT_MET, [start of procedure consistentAssertion(...),Taking false branch] -codetoanalyze/java/infer/JunitAssertion.java, void JunitAssertion.inconsistentAssertion(JunitAssertion$A), 2, NULL_DEREFERENCE, [start of procedure inconsistentAssertion(...),Taking false branch] -codetoanalyze/java/infer/Lists.java, void Lists.clearCausesEmptinessNPE(List,int), 5, NULL_DEREFERENCE, [start of procedure clearCausesEmptinessNPE(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/Lists.java, void Lists.getElementNPE(List), 4, NULL_DEREFERENCE, [start of procedure getElementNPE(...),Taking false branch,start of procedure getElement(...),Taking true branch,return from a call to Object Lists.getElement(List)] -codetoanalyze/java/infer/Lists.java, void Lists.removeInvalidatesNonEmptinessNPE(List,int), 5, NULL_DEREFERENCE, [start of procedure removeInvalidatesNonEmptinessNPE(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.hashmapNPE(HashMap,Object), 1, NULL_DEREFERENCE, [start of procedure hashmapNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.nullTryLock(FileChannel), 2, NULL_DEREFERENCE, [start of procedure nullTryLock(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyArgument()] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.tryLockThrows(FileChannel), 6, NULL_DEREFERENCE, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int), 1, NULL_DEREFERENCE, [start of procedure NPEvalueOfFromHashmapBad(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, NULL_DEREFERENCE, [start of procedure nullListFiles(...),Skipping File(...): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, NULL_DEREFERENCE, [start of procedure nullPointerException()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithArray(), 3, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithArray()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.preconditionCheckStateTest(NullPointerExceptions$D), 1, PRECONDITION_NOT_MET, [start of procedure preconditionCheckStateTest(...),Taking false branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 2, NULL_DEREFERENCE, [start of procedure npeWithDollars()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$E.dereferenceNullableInterfaceFieldBad(), 1, NULL_DEREFERENCE, [start of procedure dereferenceNullableInterfaceFieldBad()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.FP_noNullPointerExceptionAfterSkipFunction(), 4, NULL_DEREFERENCE, [start of procedure FP_noNullPointerExceptionAfterSkipFunction(),Skipping String(...): unknown method,Skipping toString(): unknown method,start of procedure genericMethodSomewhereCheckingForNull(...),Taking true branch,return from a call to void NullPointerExceptions.genericMethodSomewhereCheckingForNull(String)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 2, NULL_DEREFERENCE, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 1, NULL_DEREFERENCE, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking false branch,return from a call to Object NullPointerExceptions.getObj()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.cursorFromContentResolverNPE(String), 9, NULL_DEREFERENCE, [start of procedure cursorFromContentResolverNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad(), 1, NULL_DEREFERENCE, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 2, NULL_DEREFERENCE, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),return from a call to Object NullPointerExceptions.retUndefined(),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableGetter(), 2, NULL_DEREFERENCE, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableRet(boolean), 2, NULL_DEREFERENCE, [start of procedure derefNullableRet(...),start of procedure nullableRet(...),Taking true branch,return from a call to Object NullPointerExceptions.nullableRet(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRet(), 2, NULL_DEREFERENCE, [start of procedure derefUndefNullableRet(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 1, NULL_DEREFERENCE, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 2, NULL_DEREFERENCE, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking true branch,Taking true branch,Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 4, NULL_DEREFERENCE, [start of procedure dereferenceAfterUnlock1(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 6, NULL_DEREFERENCE, [start of procedure dereferenceAfterUnlock2(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullDerefernceReturnOfSkippedFunctionBad(), 3, NULL_DEREFERENCE, [start of procedure nullDerefernceReturnOfSkippedFunctionBad(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionArrayLength()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 7, NULL_DEREFERENCE, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 6, NULL_DEREFERENCE, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]), 3, NULL_DEREFERENCE, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 4, NULL_DEREFERENCE, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 1, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),Skipping clone(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 1, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableFieldNPE(), 1, NULL_DEREFERENCE, [start of procedure nullableFieldNPE()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableParamNPE(Object), 1, NULL_DEREFERENCE, [start of procedure nullableParamNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.optionalNPE(Optional), 1, NULL_DEREFERENCE, [start of procedure optionalNPE(...),Skipping orNull(): abstract method,Definition of orNull()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 2, NULL_DEREFERENCE, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 10, NULL_DEREFERENCE, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking false branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringVarEqualsFalseNPE(), 5, NULL_DEREFERENCE, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Skipping toString(): unknown method,Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 2, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyReturn()] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.bufferedReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure bufferedReaderNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.fileReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure fileReaderNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.inputStreamReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure inputStreamReaderNotClosedAfterRead(),Skipping InputStreamReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderFalsePositive(), 5, RESOURCE_LEAK, [start of procedure pipedReaderFalsePositive()] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter), 7, RESOURCE_LEAK, [start of procedure pipedReaderNotClosedAfterConnect(...),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter(), 8, RESOURCE_LEAK, [start of procedure pipedReaderNotClosedAfterConstructedWithWriter(),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pushbackReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure pushbackReaderNotClosedAfterRead(),Skipping PushbackReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.readerNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure readerNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, String ResourceLeaks.readInstallationFileBad(File), 6, RESOURCE_LEAK, [start of procedure readInstallationFileBad(...),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, boolean ResourceLeaks.jarFileNotClosed(), 3, RESOURCE_LEAK, [start of procedure jarFileNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 3, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks1(...),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 6, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks1(...),Taking false branch] -codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.readConfigNotCloseStream(String), 5, RESOURCE_LEAK, [start of procedure readConfigNotCloseStream(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.NoResourceLeakWarningAfterCheckState(File,int), 2, PRECONDITION_NOT_MET, [start of procedure NoResourceLeakWarningAfterCheckState(...),Taking false branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity), 2, RESOURCE_LEAK, [start of procedure activityObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.contextObtainTypedArrayAndLeak(Context), 2, RESOURCE_LEAK, [start of procedure contextObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, [start of procedure copyFileLeak(...),Skipping transferTo(...): unknown method,Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, [start of procedure copyFileLeak(...),exception java.io.FileNotFoundException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.deflaterLeak(), 1, RESOURCE_LEAK, [start of procedure deflaterLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure fileInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosed(), 1, RESOURCE_LEAK, [start of procedure fileOutputStreamNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure fileOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamOneLeak(), 2, RESOURCE_LEAK, [start of procedure fileOutputStreamOneLeak(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 2, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 5, RESOURCE_LEAK, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.inflaterLeak(), 1, RESOURCE_LEAK, [start of procedure inflaterLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarInputStreamLeak(), 3, RESOURCE_LEAK, [start of procedure jarInputStreamLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarOutputStreamLeak(), 3, RESOURCE_LEAK, [start of procedure jarOutputStreamLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad1(), 1, RESOURCE_LEAK, [start of procedure nestedBad1()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad2(), 1, RESOURCE_LEAK, [start of procedure nestedBad2()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarInputStream(File), 1, RESOURCE_LEAK, [start of procedure nestedBadJarInputStream(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarOutputStream(), 1, RESOURCE_LEAK, [start of procedure nestedBadJarOutputStream()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamClosedNestedBad(), 3, RESOURCE_LEAK, [start of procedure objectInputStreamClosedNestedBad()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 3, RESOURCE_LEAK, [start of procedure objectInputStreamNotClosedAfterRead()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, [start of procedure objectInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamClosedNestedBad(), 3, RESOURCE_LEAK, [start of procedure objectOutputStreamClosedNestedBad()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 4, RESOURCE_LEAK, [start of procedure objectOutputStreamNotClosedAfterWrite()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure objectOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpURLConnectionNotDisconnected(), 7, RESOURCE_LEAK, [start of procedure openHttpURLConnectionNotDisconnected()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpsURLConnectionNotDisconnected(), 3, RESOURCE_LEAK, [start of procedure openHttpsURLConnectionNotDisconnected()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory), 5, RESOURCE_LEAK, [start of procedure parseFromInputStreamAndLeak(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromStringAndNotClose(JsonFactory), 4, RESOURCE_LEAK, [start of procedure parseFromStringAndNotClose(...)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream), 6, RESOURCE_LEAK, [start of procedure pipedInputStreamNotClosedAfterRead(...),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure pipedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.scannerNotClosed(), 1, RESOURCE_LEAK, [start of procedure scannerNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.serverSocketNotClosed(), 12, RESOURCE_LEAK, [start of procedure serverSocketNotClosed(),Skipping ServerSocket(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.socketNotClosed(), 1, RESOURCE_LEAK, [start of procedure socketNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme), 2, RESOURCE_LEAK, [start of procedure themeObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResources(), 11, RESOURCE_LEAK, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResourcesRandomAccessFile(), 10, RESOURCE_LEAK, [start of procedure twoResourcesRandomAccessFile(),Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.zipFileLeakExceptionalBranch(), 5, RESOURCE_LEAK, [start of procedure zipFileLeakExceptionalBranch(),exception java.io.IOException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportNPE(), 2, NULL_DEREFERENCE, [start of procedure shouldNotReportNPE()] -codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportResourceLeak(), 2, RESOURCE_LEAK, [start of procedure shouldNotReportResourceLeak()] -codetoanalyze/java/infer/SuppressLintExample.java, void SuppressLintExample.shouldReportNPE(), 2, NULL_DEREFERENCE, [start of procedure shouldReportNPE()] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.bufferedWriterNotClosedAfterWrite(), 7, RESOURCE_LEAK, [start of procedure bufferedWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,Skipping BufferedWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.fileWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure fileWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.outputStreamWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure outputStreamWriterNotClosedAfterWrite(),Skipping OutputStreamWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader), 7, RESOURCE_LEAK, [start of procedure pipedWriterNotClosedAfterConnect(...),exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader(), 8, RESOURCE_LEAK, [start of procedure pipedWriterNotClosedAfterConstructedWithReader(),exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.printWriterNotClosedAfterAppend(), 4, RESOURCE_LEAK, [start of procedure printWriterNotClosedAfterAppend(),Skipping PrintWriter(...): unknown method] -codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.writerNotClosedAfterWrite(), 6, RESOURCE_LEAK, [start of procedure writerNotClosedAfterWrite(),Skipping PrintWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.accessPathInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, ERROR, [start of procedure accessPathInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure accessPathOnParam(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.callOnCastUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, ERROR, [start of procedure callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.callOnUndefinedObjMayCauseFalseNegative(), 2, DIVIDE_BY_ZERO, ERROR, [start of procedure callOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure retZero(),return from a call to int AnalysisStops$MyObj.retZero()] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(), 2, DIVIDE_BY_ZERO, ERROR, [start of procedure castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference()] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadAferCastMayCauseFalseNegative(Iterator), 6, DIVIDE_BY_ZERO, ERROR, [start of procedure fieldReadAferCastMayCauseFalseNegative(...),Skipping toString(): unknown method,Taking true branch] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, ERROR, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(), 3, NULL_DEREFERENCE, ERROR, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, ERROR, [start of procedure fieldReadOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2()] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, ERROR, [start of procedure fieldWriteOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2()] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.heapFieldOfAngelicObjMayCauseFalseNegative(), 4, DIVIDE_BY_ZERO, ERROR, [start of procedure heapFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.infiniteMaterializationMayCauseFalseNegative(boolean), 5, DIVIDE_BY_ZERO, ERROR, [start of procedure infiniteMaterializationMayCauseFalseNegative(...),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, ERROR, [start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(), 5, DIVIDE_BY_ZERO, ERROR, [start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.recursiveAngelicTypesMayCauseFalseNegative(), 4, DIVIDE_BY_ZERO, ERROR, [start of procedure recursiveAngelicTypesMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2()] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative(), 5, NULL_DEREFERENCE, ERROR, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Taking false branch] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseCalleeFalseNegative(), 2, DIVIDE_BY_ZERO, ERROR, [start of procedure skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero()] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseInterprocFalseNegative(), 2, DIVIDE_BY_ZERO, ERROR, [start of procedure skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure divideByParam(...)] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseLocalFalseNegative(), 3, DIVIDE_BY_ZERO, ERROR, [start of procedure skipPointerDerefMayCauseLocalFalseNegative(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method] +codetoanalyze/java/infer/AnalysisStops.java, void AnalysisStops.specInferenceMayFailAndCauseFalseNegative(boolean,Iterator), 26, DIVIDE_BY_ZERO, ERROR, [start of procedure specInferenceMayFailAndCauseFalseNegative(...),start of procedure skipPointerDerefMayCauseLocalFalseNegative(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to void AnalysisStops.skipPointerDerefMayCauseLocalFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetObj(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to Object AnalysisStops.skipPointerDerefPreventsSpecInferenceRetObj(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to void AnalysisStops.skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),Skipping toString(): unknown method,return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure divideByParam(...),return from a call to void AnalysisStops.divideByParam(int),return from a call to void AnalysisStops.skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),return from a call to void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),Skipping externalFunc(): method has no implementation,Definition of externalFunc(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),Skipping toString(): unknown method,return from a call to void AnalysisStops.callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure callOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure retZero(),return from a call to int AnalysisStops$MyObj.retZero(),return from a call to void AnalysisStops.callOnUndefinedObjMayCauseFalseNegative(),start of procedure callOnUndefinedObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure retOne(),return from a call to int AnalysisStops$MyObj.retOne(),return from a call to void AnalysisStops.callOnUndefinedObjMayCauseFalsePositive(),start of procedure fieldWriteOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),return from a call to void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalseNegative(),start of procedure fieldWriteOnUndefinedObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Skipping toString(): unknown method,return from a call to void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalsePositive(),start of procedure fieldReadOnUndefinedObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),return from a call to void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalseNegative(),start of procedure fieldReadOnUndefinedObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Skipping toString(): unknown method,return from a call to void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalsePositive(),start of procedure recursiveAngelicTypesMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),return from a call to void AnalysisStops.recursiveAngelicTypesMayCauseFalseNegative(),Skipping recursiveAngelicTypesMayCauseFalsePositive(): empty list of specs,Definition of recursiveAngelicTypesMayCauseFalsePositive(),start of procedure infiniteMaterializationMayCauseFalseNegative(...),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,return from a call to void AnalysisStops.infiniteMaterializationMayCauseFalseNegative(boolean),start of procedure infiniteMaterializationMayCauseFalsePositive(...),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,Skipping toString(): unknown method,return from a call to void AnalysisStops.infiniteMaterializationMayCauseFalsePositive(boolean),start of procedure primitiveFieldOfAngelicObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch,return from a call to void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalsePositive(),start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,return from a call to void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(),start of procedure heapFieldOfAngelicObjMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking false branch,return from a call to void AnalysisStops.heapFieldOfAngelicObjMayCauseFalsePositive(),start of procedure heapFieldOfAngelicObjMayCauseFalseNegative(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),Taking true branch,return from a call to void AnalysisStops.heapFieldOfAngelicObjMayCauseFalseNegative(),Skipping fieldReadAferCastMayCauseFalseNegative(...): empty list of specs,Definition of fieldReadAferCastMayCauseFalseNegative(...),start of procedure fieldReadInCalleeMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method,return from a call to void AnalysisStops.derefParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.fieldReadInCalleeMayCauseFalsePositive(),start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method,return from a call to void AnalysisStops.derefParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalsePositive(),start of procedure accessPathInCalleeMayCauseFalsePositive(),Skipping externalFunc2(): method has no implementation,Definition of externalFunc2(),start of procedure accessPathOnParam(...),Skipping toString(): unknown method,return from a call to void AnalysisStops.accessPathOnParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.accessPathInCalleeMayCauseFalsePositive()] +codetoanalyze/java/infer/ArrayOutOfBounds.java, int ArrayOutOfBounds.arrayOutOfBounds(), 2, ARRAY_OUT_OF_BOUNDS_L1, ERROR, [start of procedure arrayOutOfBounds()] +codetoanalyze/java/infer/Builtins.java, void Builtins.causeError(Object), 2, NULL_DEREFERENCE, ERROR, [start of procedure causeError(...),Taking true branch] +codetoanalyze/java/infer/Builtins.java, void Builtins.doNotBlockError(Object), 3, NULL_DEREFERENCE, ERROR, [start of procedure doNotBlockError(...),Taking true branch] +codetoanalyze/java/infer/ClassCastExceptions.java, int ClassCastExceptions.classCastExceptionImplementsInterface(), 0, CLASS_CAST_EXCEPTION, ERROR, [start of procedure classCastExceptionImplementsInterface(),start of procedure AnotherImplementationOfInterface(),return from a call to AnotherImplementationOfInterface.()] +codetoanalyze/java/infer/ClassCastExceptions.java, void ClassCastExceptions.classCastException(), 2, CLASS_CAST_EXCEPTION, ERROR, [start of procedure classCastException(),start of procedure SubClassA(),start of procedure SuperClass(),return from a call to SuperClass.(),return from a call to SubClassA.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, T CloseableAsResourceExample.sourceOfNullWithResourceLeak(), 1, RESOURCE_LEAK, ERROR, [start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.failToCloseWithCloseQuietly(), 5, RESOURCE_LEAK, ERROR, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.leakFoundWhenIndirectlyImplementingCloseable(), 1, RESOURCE_LEAK, ERROR, [start of procedure leakFoundWhenIndirectlyImplementingCloseable(),start of procedure CloseableAsResourceExample$MyResource(...),return from a call to CloseableAsResourceExample$MyResource.(CloseableAsResourceExample)] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClearinglocalMapContainingResourcesBad(), 4, RESOURCE_LEAK, ERROR, [start of procedure notClearinglocalMapContainingResourcesBad(),start of procedure SomeResource(),return from a call to SomeResource.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingCloseable(), 1, RESOURCE_LEAK, ERROR, [start of procedure notClosingCloseable(),start of procedure SomeResource(),return from a call to SomeResource.()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingWrapper(), 2, RESOURCE_LEAK, ERROR, [start of procedure notClosingWrapper(),start of procedure Resource(),return from a call to Resource.(),start of procedure Sub(...),start of procedure Wrapper(...),return from a call to Wrapper.(Resource),return from a call to Sub.(Resource),start of procedure close(),return from a call to void Resource.close()] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.skippedVritualCallDoesNotCloseResourceOnReceiver(), 2, RESOURCE_LEAK, ERROR, [start of procedure skippedVritualCallDoesNotCloseResourceOnReceiver(),start of procedure SomeResource(),return from a call to SomeResource.(),Skipping foo(...): method has no implementation,Definition of foo(...)] +codetoanalyze/java/infer/CloseableAsResourceExample.java, void CloseableAsResourceExample.withException(), 4, RESOURCE_LEAK, ERROR, [start of procedure withException(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): method has no implementation,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] +codetoanalyze/java/infer/CursorLeaks.java, Object CursorLeaks.cursorClosedCheckNullCheckClosed_FP(SQLiteDatabase), 13, RESOURCE_LEAK, ERROR, [start of procedure cursorClosedCheckNullCheckClosed_FP(...),Taking false branch,Skipping getString(...): unknown method,Taking true branch,Taking false branch] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.completeDownloadNotClosed(DownloadManager), 8, RESOURCE_LEAK, ERROR, [start of procedure completeDownloadNotClosed(...),Taking false branch,Skipping getColumnIndex(...): unknown method] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.cursorNotClosed(SQLiteDatabase), 4, RESOURCE_LEAK, ERROR, [start of procedure cursorNotClosed(...),Skipping getCount(): unknown method] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getBucketCountNotClosed(), 10, RESOURCE_LEAK, ERROR, [start of procedure getBucketCountNotClosed(),Taking false branch,Taking false branch] +codetoanalyze/java/infer/CursorLeaks.java, int CursorLeaks.getImageCountHelperNotClosed(String), 13, RESOURCE_LEAK, ERROR, [start of procedure getImageCountHelperNotClosed(...),Taking true branch,Skipping getInt(...): unknown method] +codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.loadPrefsFromContentProviderNotClosed(), 11, RESOURCE_LEAK, ERROR, [start of procedure loadPrefsFromContentProviderNotClosed(),Taking false branch,Taking true branch] +codetoanalyze/java/infer/CursorLeaks.java, void CursorLeaks.queryUVMLegacyDbNotClosed(), 4, RESOURCE_LEAK, ERROR, [start of procedure queryUVMLegacyDbNotClosed(),Skipping setTables(...): unknown method,Taking true branch] +codetoanalyze/java/infer/CursorNPEs.java, int CursorNPEs.cursorFromDownloadManagerNPE(DownloadManager), 5, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromDownloadManagerNPE(...)] +codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromContentResolverNPE(String), 12, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromContentResolverNPE(...)] +codetoanalyze/java/infer/CursorNPEs.java, void CursorNPEs.cursorFromMediaNPE(), 3, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromMediaNPE()] +codetoanalyze/java/infer/DivideByZero.java, int DivideByZero.callDivideByZeroInterProc(), 1, DIVIDE_BY_ZERO, ERROR, [start of procedure callDivideByZeroInterProc(),start of procedure divideByZeroInterProc(...)] +codetoanalyze/java/infer/DivideByZero.java, int DivideByZero.divByZeroLocal(String), 3, DIVIDE_BY_ZERO, ERROR, [start of procedure divByZeroLocal(...)] +codetoanalyze/java/infer/DivideByZero.java, int DivideByZero.divideByZeroWithStaticField(), 2, DIVIDE_BY_ZERO, ERROR, [start of procedure divideByZeroWithStaticField(),start of procedure setXToZero(),return from a call to void DivideByZero.setXToZero(),start of procedure divideByZeroInterProc(...)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch$WithField.dispatchOnFieldBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dispatchOnFieldBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure DynamicDispatch$WithField(...),return from a call to DynamicDispatch$WithField.(DynamicDispatch$Subtype),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSubtypeBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchCallsWrapperWithSubtypeBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure dynamicDispatchWrapperFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperFoo(DynamicDispatch$Subtype)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchCallsWrapperWithSupertypeBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchCallsWrapperWithSupertypeBad(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),start of procedure dynamicDispatchWrapperBar(...),start of procedure bar(),return from a call to Object DynamicDispatch$Supertype.bar(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperBar(DynamicDispatch$Supertype)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotReportWhenCallingSupertype(DynamicDispatch$Subtype), 3, NULL_DEREFERENCE, ERROR, [start of procedure dynamicDispatchShouldNotReportWhenCallingSupertype(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.dynamicResolutionWithPrivateMethodBad(), 2, NULL_DEREFERENCE, ERROR, [start of procedure dynamicResolutionWithPrivateMethodBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure callFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.callFoo(DynamicDispatch$Subtype)] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy(), 3, NULL_DEREFERENCE, ERROR, [start of procedure interfaceShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Impl(),return from a call to DynamicDispatch$Impl.(),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] +codetoanalyze/java/infer/DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Impl), 1, NULL_DEREFERENCE, ERROR, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure bufferedInputStreamNotClosedAfterRead(),Skipping BufferedInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure checkedInputStreamNotClosedAfterRead(),Skipping CheckedInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip(), 7, RESOURCE_LEAK, ERROR, [start of procedure cipherInputStreamNotClosedAfterSkip(),Skipping CipherInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, ERROR, [start of procedure dataInputStreamNotClosedAfterRead(),Skipping DataInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure deflaterInputStreamNotClosedAfterRead(),Skipping DeflaterInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead(), 8, RESOURCE_LEAK, ERROR, [start of procedure digestInputStreamNotClosedAfterRead(),Skipping DigestInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 4, RESOURCE_LEAK, ERROR, [start of procedure gzipInputStreamNotClosedAfterRead()] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure gzipInputStreamNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure inflaterInputStreamNotClosedAfterRead(),Skipping InflaterInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterInputStreamLeaks.java, void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead(), 7, RESOURCE_LEAK, ERROR, [start of procedure pushbackInputStreamNotClosedAfterRead(),Skipping PushbackInputStream(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure bufferedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure checkedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure cipherOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure dataOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure deflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure digestOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure filterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 4, RESOURCE_LEAK, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush()] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush(), 7, RESOURCE_LEAK, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite(), 8, RESOURCE_LEAK, ERROR, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/FilterOutputStreamLeaks.java, void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure printStreamNotClosedAfterWrite()] +codetoanalyze/java/infer/GuardedByExample.java, Object GuardedByExample.byRefTrickyBad(), 5, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure byRefTrickyBad()] +codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$3.readFromInnerClassBad1(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad1()] +codetoanalyze/java/infer/GuardedByExample.java, String GuardedByExample$4.readFromInnerClassBad2(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFromInnerClassBad2()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample$Sub.badSub(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badSub()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByNormalLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByNormalLock()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.badGuardedByReentrantLock(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure badGuardedByReentrantLock()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.guardedByTypeSyntaxBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure guardedByTypeSyntaxBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFAfterBlockBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongAnnotation(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongAnnotation()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readFBadWrongLock()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBad(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.readHBadSynchronizedMethodShouldntHelp(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure readHBadSynchronizedMethodShouldntHelp()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodReadBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodReadBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedMethodWriteBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedMethodWriteBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.synchronizedOnThisBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure synchronizedOnThisBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFAfterBlockBad(), 3, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFAfterBlockBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBad(), 1, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBad()] +codetoanalyze/java/infer/GuardedByExample.java, void GuardedByExample.writeFBadWrongLock(), 2, UNSAFE_GUARDED_BY_ACCESS, ERROR, [start of procedure writeFBadWrongLock()] +codetoanalyze/java/infer/HashMapExample.java, int HashMapExample.getOneIntegerWithoutCheck(), 6, NULL_DEREFERENCE, ERROR, [start of procedure getOneIntegerWithoutCheck()] +codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterClearBad(), 5, NULL_DEREFERENCE, ERROR, [start of procedure getAfterClearBad()] +codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getAfterRemovingTheKeyBad(), 5, NULL_DEREFERENCE, ERROR, [start of procedure getAfterRemovingTheKeyBad()] +codetoanalyze/java/infer/HashMapExample.java, void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer), 11, NULL_DEREFERENCE, ERROR, [start of procedure getTwoIntegersWithOneCheck(...),Taking true branch,Taking true branch] +codetoanalyze/java/infer/IntegerExample.java, void IntegerExample.testIntegerEqualsBad(), 6, NULL_DEREFERENCE, ERROR, [start of procedure testIntegerEqualsBad(),Taking true branch] +codetoanalyze/java/infer/InvokeDynamic.java, int InvokeDynamic.lambda$npeInLambdaBad$1(String,String), 1, NULL_DEREFERENCE, ERROR, [start of procedure lambda$npeInLambdaBad$1(...)] +codetoanalyze/java/infer/InvokeDynamic.java, void InvokeDynamic.invokeDynamicThenNpeBad(List), 5, NULL_DEREFERENCE, ERROR, [start of procedure invokeDynamicThenNpeBad(...),Skipping sort(...): unknown method] +codetoanalyze/java/infer/JunitAssertion.java, void JunitAssertion.consistentAssertion(JunitAssertion$A), 1, PRECONDITION_NOT_MET, WARNING, [start of procedure consistentAssertion(...),Taking false branch] +codetoanalyze/java/infer/JunitAssertion.java, void JunitAssertion.inconsistentAssertion(JunitAssertion$A), 2, NULL_DEREFERENCE, ERROR, [start of procedure inconsistentAssertion(...),Taking false branch] +codetoanalyze/java/infer/Lists.java, void Lists.clearCausesEmptinessNPE(List,int), 5, NULL_DEREFERENCE, ERROR, [start of procedure clearCausesEmptinessNPE(...),Taking true branch,Taking true branch] +codetoanalyze/java/infer/Lists.java, void Lists.getElementNPE(List), 4, NULL_DEREFERENCE, ERROR, [start of procedure getElementNPE(...),Taking false branch,start of procedure getElement(...),Taking true branch,return from a call to Object Lists.getElement(List)] +codetoanalyze/java/infer/Lists.java, void Lists.removeInvalidatesNonEmptinessNPE(List,int), 5, NULL_DEREFERENCE, ERROR, [start of procedure removeInvalidatesNonEmptinessNPE(...),Taking true branch,Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.hashmapNPE(HashMap,Object), 1, NULL_DEREFERENCE, ERROR, [start of procedure hashmapNPE(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.nullTryLock(FileChannel), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullTryLock(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, ERROR, [start of procedure testSystemGetPropertyArgument()] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.tryLockThrows(FileChannel), 6, NULL_DEREFERENCE, ERROR, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int), 1, NULL_DEREFERENCE, ERROR, [start of procedure NPEvalueOfFromHashmapBad(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullListFiles(...),Skipping File(...): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerException()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithArray(), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithArray()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.preconditionCheckStateTest(NullPointerExceptions$D), 1, PRECONDITION_NOT_MET, WARNING, [start of procedure preconditionCheckStateTest(...),Taking false branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 2, NULL_DEREFERENCE, ERROR, [start of procedure npeWithDollars()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$E.dereferenceNullableInterfaceFieldBad(), 1, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceNullableInterfaceFieldBad()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.FP_noNullPointerExceptionAfterSkipFunction(), 4, NULL_DEREFERENCE, ERROR, [start of procedure FP_noNullPointerExceptionAfterSkipFunction(),Skipping String(...): unknown method,Skipping toString(): unknown method,start of procedure genericMethodSomewhereCheckingForNull(...),Taking true branch,return from a call to void NullPointerExceptions.genericMethodSomewhereCheckingForNull(String)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 2, NULL_DEREFERENCE, ERROR, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 1, NULL_DEREFERENCE, ERROR, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking false branch,return from a call to Object NullPointerExceptions.getObj()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.cursorFromContentResolverNPE(String), 9, NULL_DEREFERENCE, ERROR, [start of procedure cursorFromContentResolverNPE(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad(), 1, NULL_DEREFERENCE, ERROR, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),return from a call to Object NullPointerExceptions.retUndefined(),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableGetter(), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNullableRet(boolean), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableRet(...),start of procedure nullableRet(...),Taking true branch,return from a call to Object NullPointerExceptions.nullableRet(boolean)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRet(), 2, NULL_DEREFERENCE, ERROR, [start of procedure derefUndefNullableRet(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 1, NULL_DEREFERENCE, ERROR, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 2, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking true branch,Taking true branch,Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 4, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceAfterUnlock1(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 6, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceAfterUnlock2(...),Skipping toString(): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullDerefernceReturnOfSkippedFunctionBad(), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullDerefernceReturnOfSkippedFunctionBad(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionArrayLength()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 7, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 6, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]), 3, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 4, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),Skipping clone(): unknown method] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableFieldNPE(), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullableFieldNPE()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullableParamNPE(Object), 1, NULL_DEREFERENCE, ERROR, [start of procedure nullableParamNPE(...)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.optionalNPE(Optional), 1, NULL_DEREFERENCE, ERROR, [start of procedure optionalNPE(...),Skipping orNull(): abstract method,Definition of orNull()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 2, NULL_DEREFERENCE, ERROR, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 10, NULL_DEREFERENCE, ERROR, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking false branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringVarEqualsFalseNPE(), 5, NULL_DEREFERENCE, ERROR, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Skipping toString(): unknown method,Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 2, NULL_DEREFERENCE, ERROR, [start of procedure testSystemGetPropertyReturn()] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.bufferedReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure bufferedReaderNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.fileReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure fileReaderNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.inputStreamReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure inputStreamReaderNotClosedAfterRead(),Skipping InputStreamReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderFalsePositive(), 5, RESOURCE_LEAK, ERROR, [start of procedure pipedReaderFalsePositive()] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter), 7, RESOURCE_LEAK, ERROR, [start of procedure pipedReaderNotClosedAfterConnect(...),exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter(), 8, RESOURCE_LEAK, ERROR, [start of procedure pipedReaderNotClosedAfterConstructedWithWriter(),exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.pushbackReaderNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure pushbackReaderNotClosedAfterRead(),Skipping PushbackReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ReaderLeaks.java, void ReaderLeaks.readerNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure readerNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, String ResourceLeaks.readInstallationFileBad(File), 6, RESOURCE_LEAK, ERROR, [start of procedure readInstallationFileBad(...),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, boolean ResourceLeaks.jarFileNotClosed(), 3, RESOURCE_LEAK, ERROR, [start of procedure jarFileNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 3, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks1(...),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 6, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks1(...),Taking false branch] +codetoanalyze/java/infer/ResourceLeaks.java, int ResourceLeaks.readConfigNotCloseStream(String), 5, RESOURCE_LEAK, ERROR, [start of procedure readConfigNotCloseStream(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.NoResourceLeakWarningAfterCheckState(File,int), 2, PRECONDITION_NOT_MET, WARNING, [start of procedure NoResourceLeakWarningAfterCheckState(...),Taking false branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity), 2, RESOURCE_LEAK, ERROR, [start of procedure activityObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.contextObtainTypedArrayAndLeak(Context), 2, RESOURCE_LEAK, ERROR, [start of procedure contextObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, ERROR, [start of procedure copyFileLeak(...),Skipping transferTo(...): unknown method,Taking true branch,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.copyFileLeak(File,File), 11, RESOURCE_LEAK, ERROR, [start of procedure copyFileLeak(...),exception java.io.FileNotFoundException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.deflaterLeak(), 1, RESOURCE_LEAK, ERROR, [start of procedure deflaterLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure fileInputStreamNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosed(), 1, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamOneLeak(), 2, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamOneLeak(),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 2, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.fileOutputStreamTwoLeaks2(), 5, RESOURCE_LEAK, ERROR, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.inflaterLeak(), 1, RESOURCE_LEAK, ERROR, [start of procedure inflaterLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarInputStreamLeak(), 3, RESOURCE_LEAK, ERROR, [start of procedure jarInputStreamLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.jarOutputStreamLeak(), 3, RESOURCE_LEAK, ERROR, [start of procedure jarOutputStreamLeak()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad1(), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBad1()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBad2(), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBad2()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarInputStream(File), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBadJarInputStream(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.nestedBadJarOutputStream(), 1, RESOURCE_LEAK, ERROR, [start of procedure nestedBadJarOutputStream()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamClosedNestedBad(), 3, RESOURCE_LEAK, ERROR, [start of procedure objectInputStreamClosedNestedBad()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 3, RESOURCE_LEAK, ERROR, [start of procedure objectInputStreamNotClosedAfterRead()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectInputStreamNotClosedAfterRead(), 6, RESOURCE_LEAK, ERROR, [start of procedure objectInputStreamNotClosedAfterRead(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamClosedNestedBad(), 3, RESOURCE_LEAK, ERROR, [start of procedure objectOutputStreamClosedNestedBad()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 4, RESOURCE_LEAK, ERROR, [start of procedure objectOutputStreamNotClosedAfterWrite()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.objectOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure objectOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpURLConnectionNotDisconnected(), 7, RESOURCE_LEAK, ERROR, [start of procedure openHttpURLConnectionNotDisconnected()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.openHttpsURLConnectionNotDisconnected(), 3, RESOURCE_LEAK, ERROR, [start of procedure openHttpsURLConnectionNotDisconnected()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory), 5, RESOURCE_LEAK, ERROR, [start of procedure parseFromInputStreamAndLeak(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.parseFromStringAndNotClose(JsonFactory), 4, RESOURCE_LEAK, ERROR, [start of procedure parseFromStringAndNotClose(...)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream), 6, RESOURCE_LEAK, ERROR, [start of procedure pipedInputStreamNotClosedAfterRead(...),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure pipedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.scannerNotClosed(), 1, RESOURCE_LEAK, ERROR, [start of procedure scannerNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.serverSocketNotClosed(), 12, RESOURCE_LEAK, ERROR, [start of procedure serverSocketNotClosed(),Skipping ServerSocket(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.socketNotClosed(), 1, RESOURCE_LEAK, ERROR, [start of procedure socketNotClosed()] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme), 2, RESOURCE_LEAK, ERROR, [start of procedure themeObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResources(), 11, RESOURCE_LEAK, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.twoResourcesRandomAccessFile(), 10, RESOURCE_LEAK, ERROR, [start of procedure twoResourcesRandomAccessFile(),Taking true branch,exception java.io.IOException] +codetoanalyze/java/infer/ResourceLeaks.java, void ResourceLeaks.zipFileLeakExceptionalBranch(), 5, RESOURCE_LEAK, ERROR, [start of procedure zipFileLeakExceptionalBranch(),exception java.io.IOException,Switch condition is true. Entering switch case] +codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportNPE(), 2, NULL_DEREFERENCE, ERROR, [start of procedure shouldNotReportNPE()] +codetoanalyze/java/infer/SuppressLintExample.java, void SuppressAllWarnigsInTheClass.shouldNotReportResourceLeak(), 2, RESOURCE_LEAK, ERROR, [start of procedure shouldNotReportResourceLeak()] +codetoanalyze/java/infer/SuppressLintExample.java, void SuppressLintExample.shouldReportNPE(), 2, NULL_DEREFERENCE, ERROR, [start of procedure shouldReportNPE()] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.bufferedWriterNotClosedAfterWrite(), 7, RESOURCE_LEAK, ERROR, [start of procedure bufferedWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,Skipping BufferedWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.fileWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure fileWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.outputStreamWriterNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure outputStreamWriterNotClosedAfterWrite(),Skipping OutputStreamWriter(...): unknown method,exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader), 7, RESOURCE_LEAK, ERROR, [start of procedure pipedWriterNotClosedAfterConnect(...),exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader(), 8, RESOURCE_LEAK, ERROR, [start of procedure pipedWriterNotClosedAfterConstructedWithReader(),exception java.io.IOException] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.printWriterNotClosedAfterAppend(), 4, RESOURCE_LEAK, ERROR, [start of procedure printWriterNotClosedAfterAppend(),Skipping PrintWriter(...): unknown method] +codetoanalyze/java/infer/WriterLeaks.java, void WriterLeaks.writerNotClosedAfterWrite(), 6, RESOURCE_LEAK, ERROR, [start of procedure writerNotClosedAfterWrite(),Skipping PrintWriter(...): unknown method,exception java.io.IOException] diff --git a/infer/tests/codetoanalyze/java/lab/issues.exp b/infer/tests/codetoanalyze/java/lab/issues.exp index bc838069a..579a53eeb 100644 --- a/infer/tests/codetoanalyze/java/lab/issues.exp +++ b/infer/tests/codetoanalyze/java/lab/issues.exp @@ -1,3 +1,3 @@ -codetoanalyze/java/lab/Leaks.java, void Leaks.acquireTwoForgetOneBad(), 4, RESOURCE_LEAK, [] -codetoanalyze/java/lab/Leaks.java, void Leaks.basicLeakBad(), 2, RESOURCE_LEAK, [] -codetoanalyze/java/lab/Leaks.java, void Leaks.doubleLeakBad(), 3, RESOURCE_LEAK, [] +codetoanalyze/java/lab/Leaks.java, void Leaks.acquireTwoForgetOneBad(), 4, RESOURCE_LEAK, ERROR, [] +codetoanalyze/java/lab/Leaks.java, void Leaks.basicLeakBad(), 2, RESOURCE_LEAK, ERROR, [] +codetoanalyze/java/lab/Leaks.java, void Leaks.doubleLeakBad(), 3, RESOURCE_LEAK, ERROR, [] diff --git a/infer/tests/codetoanalyze/java/quandary/issues.exp b/infer/tests/codetoanalyze/java/quandary/issues.exp index d9f13a066..a9f6593d9 100644 --- a/infer/tests/codetoanalyze/java/quandary/issues.exp +++ b/infer/tests/codetoanalyze/java/quandary/issues.exp @@ -1,239 +1,239 @@ -codetoanalyze/java/quandary/Arrays.java, void Arrays.FP_viaArrayOk1(Object,java.lang.Object[]), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Arrays.java, void Arrays.FP_viaArrayOk2(Object,java.lang.Object[]), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Arrays.java, void Arrays.viaArrayBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Arrays.java, void Arrays.viaArrayThenFieldBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Arrays.java, void Arrays.viaFieldThenArrayBad1(Arrays$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Arrays.java, void Arrays.viaFieldThenArrayBad2(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.FP_deadCodeOk(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.FP_loopInvariantOk(), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.arrayWithTaintedContentsBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.directBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.ifBad1(boolean), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.ifBad2(boolean), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.ifBad3(boolean), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.ifBad4(boolean,boolean), 9, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.ifBad5(boolean), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.noTripleReportBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.noTripleReportBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.switchBad1(int), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.switchBad2(int), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.switchBad3(int), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.viaCastBad1(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.viaCastBad2(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.viaVarBad1(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.viaVarBad2(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.viaVarBad3(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.whileBad1(int), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Basics.java, void Basics.whileBad2(int), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/ContentProviders.java, AssetFileDescriptor ContentProviders.openAssetFile(Uri,String,CancellationSignal), 1, UNTRUSTED_FILE, [Return from AssetFileDescriptor ContentProviders.openAssetFile(Uri,String,CancellationSignal),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, AssetFileDescriptor ContentProviders.openTypedAssetFile(Uri,String,Bundle,CancellationSignal), 2, UNTRUSTED_FILE, [Return from AssetFileDescriptor ContentProviders.openTypedAssetFile(Uri,String,Bundle,CancellationSignal),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, Bundle ContentProviders.call(String,String,Bundle), 1, UNTRUSTED_FILE, [Return from Bundle ContentProviders.call(String,String,Bundle),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, Cursor ContentProviders.query(Uri,java.lang.String[],String,java.lang.String[],String), 2, UNTRUSTED_FILE, [Return from Cursor ContentProviders.query(Uri,java.lang.String[],String,java.lang.String[],String),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, ParcelFileDescriptor ContentProviders.openFile(Uri,String,CancellationSignal), 1, UNTRUSTED_FILE, [Return from ParcelFileDescriptor ContentProviders.openFile(Uri,String,CancellationSignal),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, String ContentProviders.getType(Uri), 1, UNTRUSTED_FILE, [Return from String ContentProviders.getType(Uri),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, Uri ContentProviders.insert(Uri,ContentValues), 1, UNTRUSTED_FILE, [Return from Uri ContentProviders.insert(Uri,ContentValues),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, int ContentProviders.bulkInsert(Uri,android.content.ContentValues[]), 1, UNTRUSTED_FILE, [Return from int ContentProviders.bulkInsert(Uri,android.content.ContentValues[]),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, int ContentProviders.delete(Uri,String,java.lang.String[]), 1, UNTRUSTED_FILE, [Return from int ContentProviders.delete(Uri,String,java.lang.String[]),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/ContentProviders.java, int ContentProviders.update(Uri,ContentValues,String,java.lang.String[]), 1, UNTRUSTED_FILE, [Return from int ContentProviders.update(Uri,ContentValues,String,java.lang.String[]),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/DynamicDispatch.java, void DynamicDispatch.propagateViaInterfaceBad(DynamicDispatch$Interface), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.callSinkThenThrowBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Exceptions.callSinkThenThrow(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkAfterCatchBad(), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInCatchBad1(), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInCatchBad2(), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInFinallyBad1(), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInFinallyBad2(), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInFinallyBad3(), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/ExternalSpecs.java, Object ExternalSpecs.missedSanitizerBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callExternalSink2Bad1(), 1, LOGGING_PRIVATE_DATA, [Return from Object ExternalSpecs.privateDataSource(),Call to void ExternalSpecs.loggingSink2(Object,Object) with tainted index 0] -codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callExternalSink2Bad2(), 1, LOGGING_PRIVATE_DATA, [Return from Object ExternalSpecs.privateDataSource(),Call to void ExternalSpecs.loggingSink2(Object,Object) with tainted index 1] -codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callExternalSinkBad(), 1, LOGGING_PRIVATE_DATA, [Return from Object ExternalSpecs.privateDataSource(),Call to void ExternalSpecs.loggingSink1(Object,Object) with tainted index 1] -codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callSinkThatPropagatesBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Object ExternalSpecs.sinkThatPropagates(Object) with tainted index 0] -codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callSinkThatPropagatesBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ExternalSpecs.loggingSink1(Object,Object) with tainted index 1] -codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.logExternalSourceBad(), 1, LOGGING_PRIVATE_DATA, [Return from Object ExternalSpecs.privateDataSource(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/Fields.java, void Fields.instanceFieldBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Fields.java, void Fields.staticFieldBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Fields.java, void Fields.viaFieldBad1(Fields$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Fields.java, void Fields.viaFieldBad2(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Fields.java, void Fields.viaFieldBad3(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Fields.java, void Fields.viaNestedFieldBad1(Fields$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Fields.java, void Fields.viaNestedFieldBad2(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Files.java, File Files.fileConstructorSinkBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to File.(String) with tainted index 1] -codetoanalyze/java/quandary/Files.java, Path Files.fileSystemConstructorSinkBad1(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path FileSystem.getPath(String,java.lang.String[]) with tainted index 1] -codetoanalyze/java/quandary/Files.java, Path Files.fileSystemConstructorSinkBad2(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path FileSystem.getPath(String,java.lang.String[]) with tainted index 2] -codetoanalyze/java/quandary/Files.java, Path Files.pathsSinkBad1(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path Paths.get(String,java.lang.String[]) with tainted index 0] -codetoanalyze/java/quandary/Files.java, Path Files.pathsSinkBad2(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path Paths.get(String,java.lang.String[]) with tainted index 1] -codetoanalyze/java/quandary/FlowSensitivity.java, void FlowSensitivity.callSourceAndSinkBad1(FlowSensitivity$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data @val$0.codetoanalyze.java.quandary.FlowSensitivity$Obj.f*,Return from void FlowSensitivity.sourceAndSink(FlowSensitivity$Obj),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/FlowSensitivity.java, void FlowSensitivity.callSourceAndSinkBad2(FlowSensitivity$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void FlowSensitivity.sourceAndSink(FlowSensitivity$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/FlowSensitivity.java, void FlowSensitivity.interproceduralFlowSensitivityBad(FlowSensitivity$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data @val$0.codetoanalyze.java.quandary.FlowSensitivity$Obj.f*,Return from void FlowSensitivity.returnSource(FlowSensitivity$Obj),Call to void FlowSensitivity.callSink(FlowSensitivity$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to boolean ContextWrapper.bindService(Intent,ServiceConnection,int) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendBroadcast(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendBroadcastAsUser(Intent,UserHandle) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendOrderedBroadcast(Intent,String) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 8, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendOrderedBroadcastAsUser(Intent,UserHandle,String,BroadcastReceiver,Handler,int,String,Bundle) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 9, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyBroadcast(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 10, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyBroadcastAsUser(Intent,UserHandle) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 11, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyOrderedBroadcast(Intent,BroadcastReceiver,Handler,int,String,Bundle) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 12, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyOrderedBroadcastAsUser(Intent,UserHandle,BroadcastReceiver,Handler,int,String,Bundle) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 13, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivities(android.content.Intent[]) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 14, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 15, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivityForResult(Intent,int) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 16, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to boolean Activity.startActivityIfNeeded(Intent,int) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 17, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivityFromChild(Activity,Intent,int) with tainted index 2] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 18, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivityFromFragment(Fragment,Intent,int) with tainted index 2] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 19, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startIntentSender(IntentSender,Intent,int,int,int) with tainted index 2] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 20, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startIntentSenderForResult(IntentSender,int,Intent,int,int,int) with tainted index 3] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 21, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startIntentSenderFromChild(Activity,IntentSender,int,Intent,int,int,int) with tainted index 4] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 22, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to ComponentName ContextWrapper.startService(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 23, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to boolean ContextWrapper.stopService(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.getIntent(String) with tainted index 0] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.getIntentOld(String) with tainted index 0] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 8, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setClassName(String,String) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 9, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setData(Uri) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 10, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setDataAndNormalize(Uri) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 11, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setDataAndType(Uri,String) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 12, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setDataAndTypeAndNormalize(Uri,String) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 13, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setPackage(String) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.extraToDataBad(), 5, UNTRUSTED_INTENT_CREATION, [Return from String Intent.getStringExtra(String),Call to Intent Intent.setData(Uri) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.extraToDataBad(), 7, UNTRUSTED_INTENT_CREATION, [Return from String Intent.getStringExtra(String),Call to Intent Intent.setData(Uri) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.startWithUri1Bad(Uri), 1, CREATE_INTENT_FROM_URI, [Return from Intent.(String,Uri),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.startWithUri2Bad(Uri), 1, CREATE_INTENT_FROM_URI, [Return from Intent.(String,Uri,Context,Class),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void Intents.subclassCallBad(IntentSubclass,ContextSubclass), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Context.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/Intents.java, void MyActivity.startServiceWithTaintedIntent(), 2, CREATE_INTENT_FROM_URI, [Return from Intent.(String,Uri),Call to ComponentName ContextWrapper.startService(Intent) with tainted index 1] -codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsIntraprocedural(Object), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsSinkInterprocedural(Object), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Object Interprocedural.callSinkIrrelevantPassthrough(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsSourceAndSinkInterprocedural(Object), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return,Return from Object Interprocedural.returnSourceIrrelevantPassthrough(Object),Call to Object Interprocedural.callSinkIrrelevantPassthrough(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsSourceInterprocedural(Object), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return,Return from Object Interprocedural.returnSourceIrrelevantPassthrough(Object),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.FP_divergenceInCallee(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.FP_reassignInCallee(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.FP_trackParamsOk(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceConditional(boolean),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSink1Bad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkA(Interprocedural$Obj) with tainted index 0,Call to void Interprocedural.callSink1(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSink3Bad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkC(Interprocedural$Obj) with tainted index 0,Call to void Interprocedural.callSink3(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSink4Bad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkD(Interprocedural$Obj) with tainted index 0,Call to void Interprocedural.callSink4(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSinkIndirectBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkIndirectOnParam(Object) with tainted index 0,Call to void Interprocedural.callSinkOnParam(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkNoTripleReportBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam1(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkNoTripleReportBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam2(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnFieldDirectBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnFieldDirect() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnFieldIndirectBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnFieldIndirect(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnGlobalBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnGlobal() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnLocalBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnLocal() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkParam1Bad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam1(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkParam2Bad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam2(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkVariadicBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkVariadic(java.lang.Object[]) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.doublePassthroughBad(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.getGlobalThenCallSinkBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.getGlobalThenCallSink() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceDirectBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceDirect(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceDirectViaVarBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceDirect(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceIndirectBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceDirect() with tainted data &return*,Return from Object Interprocedural.returnSourceIndirect(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaFieldBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return.codetoanalyze.java.quandary.Interprocedural$Obj.f*,Return from Interprocedural$Obj Interprocedural.returnSourceViaField(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaGlobalBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &#GB<>$codetoanalyze.java.quandary.Interprocedural.codetoanalyze.java.quandary.Interprocedural.sGlobal*,Return from void Interprocedural.returnSourceViaGlobal(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaParameter1Bad(Interprocedural$Obj), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data @val$0.codetoanalyze.java.quandary.Interprocedural$Obj.f*,Return from void Interprocedural.returnSourceViaParameter1(Interprocedural$Obj),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaParameter2Bad(Interprocedural$Obj,Interprocedural$Obj), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.setGlobalThenCallSinkBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnGlobal() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.singlePassthroughBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from float Location.getSpeed(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getDeviceId(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getLine1Number(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from double Location.getAltitude(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from double Location.getLongitude(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from float Location.getBearing(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, [Return from double Location.getLatitude(),Call to int Log.e(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getDeviceId(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from double Location.getLongitude(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getLine1Number(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from double Location.getAltitude(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from float Location.getBearing(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from double Location.getLatitude(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from float Location.getSpeed(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.println(int,String,String) with tainted index 2] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from double Location.getAltitude(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from double Location.getLatitude(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from float Location.getBearing(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from double Location.getLongitude(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getLine1Number(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getDeviceId(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, [Return from float Location.getSpeed(),Call to int Log.w(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from float Location.getSpeed(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from double Location.getLongitude(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from double Location.getLatitude(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from double Location.getAltitude(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from float Location.getBearing(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getDeviceId(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, [Return from String TelephonyManager.getLine1Number(),Call to int Log.wtf(String,String) with tainted index 1] -codetoanalyze/java/quandary/Recursion.java, void Recursion.callSinkThenDivergeBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Recursion.callSinkThenDiverge(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Recursion.java, void Recursion.safeRecursionCallSinkBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Recursion.safeRecursionCallSink(int,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Serialization.java, Object Serialization.taintedObjectInputStreamBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to ObjectInputStream.(InputStream) with tainted index 1] -codetoanalyze/java/quandary/Services.java, void Implementer.interfaceServiceMethodBad(String), 1, SHELL_INJECTION, [Return from void Implementer.interfaceServiceMethodBad(String),Call to Process Runtime.exec(String) with tainted index 1] -codetoanalyze/java/quandary/Services.java, void Service1.serviceMethodBad(String), 1, SHELL_INJECTION, [Return from void Service1.serviceMethodBad(String),Call to Process Runtime.exec(String) with tainted index 1] -codetoanalyze/java/quandary/Strings.java, void Strings.viaFormatterBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaFormatterIgnoreReturnBad(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBufferBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBufferIgnoreReturnBad(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBuilderBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBuilderIgnoreReturnBad(), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBuilderSugarBad(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringFormatVarArgsDirectBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Strings.java, void Strings.viaStringFormatVarArgsIndirectBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Strings.viaStringFormatVarArgsIndirect(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintExample.java, void TaintExample.interprocTaintErrorWithModelMethods1(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object TaintExample.returnTaintedSourceModelMethods(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintExample.java, void TaintExample.interprocTaintErrorWithModelMethods2(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void TaintExample.callSinkMethodModelMethods(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintExample.java, void TaintExample.interprocTaintErrorWithModelMethods3(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object TaintExample.returnTaintedSourceModelMethods(),Call to void TaintExample.callSinkMethodModelMethods(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintExample.java, void TaintExample.simpleTaintErrorWithModelMethods(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.callTaintedContextBad1(String), 2, QUANDARY_TAINT_ERROR, [Return from Object TaintedFormals.taintedContextBad(String) with tainted data &return*,Return from Object TaintedFormals.taintedContextBad(String),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.callTaintedContextBad2(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void TaintedFormals.taintedContextBad(String,Intent,Integer) with tainted index 1,Call to ComponentName ContextWrapper.startService(Intent) with tainted index 1] -codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 3, QUANDARY_TAINT_ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 4, QUANDARY_TAINT_ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 5, QUANDARY_TAINT_ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void TaintedFormals.callSink(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 6, QUANDARY_TAINT_ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void TaintedFormals.callSink(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/Traces.java, void Traces.sourceMethod(), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Traces.callSameSink(Obj,Obj,Obj,Obj) with tainted index 0,Call to void Traces.callMySinkIndirect(Obj) with tainted index 0,Call to void Traces.callMySink(Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.callPropagateFootprintBad(), 1, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void UnknownCode.propagateFootprint(String) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.callUnknownSetterBad(Intent), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateEmptyBad(), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateEmptyBad(), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaInterfaceCodeBad(UnknownCode$Interface), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaUnknownAbstractCodeBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaUnknownConstructorBad(), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaUnknownNativeCodeBad(), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder1Bad(), 1, SHELL_INJECTION, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder.(java.lang.String[]) with tainted index 1] -codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder2Bad(), 1, SHELL_INJECTION, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder.(java.lang.String[]) with tainted index 1] -codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder3Bad(ProcessBuilder), 1, SHELL_INJECTION, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder ProcessBuilder.command(java.lang.String[]) with tainted index 1] -codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder4Bad(ProcessBuilder), 3, SHELL_INJECTION, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder ProcessBuilder.command(List) with tainted index 1] -codetoanalyze/java/quandary/UserControlledStrings.java, Spanned UserControlledStrings.clipboardToHtmlBad(), 1, CROSS_SITE_SCRIPTING, [Return from CharSequence ClipboardManager.getText(),Call to Spanned Html.fromHtml(String) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, Spanned UserControlledStrings.editTextToHtmlBad(), 1, CROSS_SITE_SCRIPTING, [Return from Editable EditText.getText(),Call to Spanned Html.fromHtml(String) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.clipboardToShellArrayBad(), 2, SHELL_INJECTION, [Return from CharSequence ClipboardManager.getText(),Call to Process Runtime.exec(java.lang.String[]) with tainted index 1] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.clipboardToShellDirectBad(), 1, SHELL_INJECTION, [Return from CharSequence ClipboardManager.getText(),Call to Process Runtime.exec(String) with tainted index 1] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 1, QUANDARY_TAINT_ERROR, [Return from CharSequence ClipboardManager.getText(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 2, QUANDARY_TAINT_ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 3, QUANDARY_TAINT_ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 4, QUANDARY_TAINT_ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 5, QUANDARY_TAINT_ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, WebResourceResponse WebViews$MyWebViewClient.shouldInterceptRequest(WebView,WebResourceRequest), 1, CREATE_INTENT_FROM_URI, [Return from Intent.(String,Uri),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsAlert(WebView,String,String,JsResult), 2, UNTRUSTED_INTENT_CREATION, [Return from boolean WebViews$MyWebChromeClient.onJsAlert(WebView,String,String,JsResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsAlert(WebView,String,String,JsResult), 3, CREATE_INTENT_FROM_URI, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsBeforeUnload(WebView,String,String,JsResult), 2, UNTRUSTED_INTENT_CREATION, [Return from boolean WebViews$MyWebChromeClient.onJsBeforeUnload(WebView,String,String,JsResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsBeforeUnload(WebView,String,String,JsResult), 3, CREATE_INTENT_FROM_URI, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsConfirm(WebView,String,String,JsResult), 2, UNTRUSTED_INTENT_CREATION, [Return from boolean WebViews$MyWebChromeClient.onJsConfirm(WebView,String,String,JsResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsConfirm(WebView,String,String,JsResult), 3, CREATE_INTENT_FROM_URI, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsPrompt(WebView,String,String,String,JsPromptResult), 2, UNTRUSTED_INTENT_CREATION, [Return from boolean WebViews$MyWebChromeClient.onJsPrompt(WebView,String,String,String,JsPromptResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsPrompt(WebView,String,String,String,JsPromptResult), 3, CREATE_INTENT_FROM_URI, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebViewClient.shouldOverrideUrlLoading(WebView,String), 2, UNTRUSTED_INTENT_CREATION, [Return from boolean WebViews$MyWebViewClient.shouldOverrideUrlLoading(WebView,String),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebViewClient.shouldOverrideUrlLoading(WebView,String), 3, CREATE_INTENT_FROM_URI, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, void WebViews$MyWebViewClient.onLoadResource(WebView,String), 2, UNTRUSTED_INTENT_CREATION, [Return from void WebViews$MyWebViewClient.onLoadResource(WebView,String),Call to Intent Intent.parseUri(String,int) with tainted index 0] -codetoanalyze/java/quandary/WebViews.java, void WebViews$MyWebViewClient.onLoadResource(WebView,String), 3, CREATE_INTENT_FROM_URI, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 3, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.evaluateJavascript(String,ValueCallback) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 4, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.loadData(String,String,String) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 5, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.loadDataWithBaseURL(String,String,String,String,String) with tainted index 2] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 6, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.loadUrl(String) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 7, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.postUrl(String,byte[]) with tainted index 1] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 8, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.postWebMessage(WebMessage,Uri) with tainted index 2] -codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSubclassSink(WebViews$MyWebView), 2, QUANDARY_TAINT_ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.evaluateJavascript(String,ValueCallback) with tainted index 1] +codetoanalyze/java/quandary/Arrays.java, void Arrays.FP_viaArrayOk1(Object,java.lang.Object[]), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Arrays.java, void Arrays.FP_viaArrayOk2(Object,java.lang.Object[]), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Arrays.java, void Arrays.viaArrayBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Arrays.java, void Arrays.viaArrayThenFieldBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Arrays.java, void Arrays.viaFieldThenArrayBad1(Arrays$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Arrays.java, void Arrays.viaFieldThenArrayBad2(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.FP_deadCodeOk(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.FP_loopInvariantOk(), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.arrayWithTaintedContentsBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.directBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.ifBad1(boolean), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.ifBad2(boolean), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.ifBad3(boolean), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.ifBad4(boolean,boolean), 9, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.ifBad5(boolean), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.noTripleReportBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.noTripleReportBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.switchBad1(int), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.switchBad2(int), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.switchBad3(int), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.viaCastBad1(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.viaCastBad2(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.viaVarBad1(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.viaVarBad2(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.viaVarBad3(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.whileBad1(int), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Basics.java, void Basics.whileBad2(int), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/ContentProviders.java, AssetFileDescriptor ContentProviders.openAssetFile(Uri,String,CancellationSignal), 1, UNTRUSTED_FILE, ERROR, [Return from AssetFileDescriptor ContentProviders.openAssetFile(Uri,String,CancellationSignal),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, AssetFileDescriptor ContentProviders.openTypedAssetFile(Uri,String,Bundle,CancellationSignal), 2, UNTRUSTED_FILE, ERROR, [Return from AssetFileDescriptor ContentProviders.openTypedAssetFile(Uri,String,Bundle,CancellationSignal),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, Bundle ContentProviders.call(String,String,Bundle), 1, UNTRUSTED_FILE, ERROR, [Return from Bundle ContentProviders.call(String,String,Bundle),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, Cursor ContentProviders.query(Uri,java.lang.String[],String,java.lang.String[],String), 2, UNTRUSTED_FILE, ERROR, [Return from Cursor ContentProviders.query(Uri,java.lang.String[],String,java.lang.String[],String),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, ParcelFileDescriptor ContentProviders.openFile(Uri,String,CancellationSignal), 1, UNTRUSTED_FILE, ERROR, [Return from ParcelFileDescriptor ContentProviders.openFile(Uri,String,CancellationSignal),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, String ContentProviders.getType(Uri), 1, UNTRUSTED_FILE, ERROR, [Return from String ContentProviders.getType(Uri),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, Uri ContentProviders.insert(Uri,ContentValues), 1, UNTRUSTED_FILE, ERROR, [Return from Uri ContentProviders.insert(Uri,ContentValues),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, int ContentProviders.bulkInsert(Uri,android.content.ContentValues[]), 1, UNTRUSTED_FILE, ERROR, [Return from int ContentProviders.bulkInsert(Uri,android.content.ContentValues[]),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, int ContentProviders.delete(Uri,String,java.lang.String[]), 1, UNTRUSTED_FILE, ERROR, [Return from int ContentProviders.delete(Uri,String,java.lang.String[]),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/ContentProviders.java, int ContentProviders.update(Uri,ContentValues,String,java.lang.String[]), 1, UNTRUSTED_FILE, ERROR, [Return from int ContentProviders.update(Uri,ContentValues,String,java.lang.String[]),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/DynamicDispatch.java, void DynamicDispatch.propagateViaInterfaceBad(DynamicDispatch$Interface), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.callSinkThenThrowBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Exceptions.callSinkThenThrow(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkAfterCatchBad(), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInCatchBad1(), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInCatchBad2(), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInFinallyBad1(), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInFinallyBad2(), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Exceptions.java, void Exceptions.sinkInFinallyBad3(), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/ExternalSpecs.java, Object ExternalSpecs.missedSanitizerBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callExternalSink2Bad1(), 1, LOGGING_PRIVATE_DATA, ERROR, [Return from Object ExternalSpecs.privateDataSource(),Call to void ExternalSpecs.loggingSink2(Object,Object) with tainted index 0] +codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callExternalSink2Bad2(), 1, LOGGING_PRIVATE_DATA, ERROR, [Return from Object ExternalSpecs.privateDataSource(),Call to void ExternalSpecs.loggingSink2(Object,Object) with tainted index 1] +codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callExternalSinkBad(), 1, LOGGING_PRIVATE_DATA, ERROR, [Return from Object ExternalSpecs.privateDataSource(),Call to void ExternalSpecs.loggingSink1(Object,Object) with tainted index 1] +codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callSinkThatPropagatesBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Object ExternalSpecs.sinkThatPropagates(Object) with tainted index 0] +codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.callSinkThatPropagatesBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ExternalSpecs.loggingSink1(Object,Object) with tainted index 1] +codetoanalyze/java/quandary/ExternalSpecs.java, void ExternalSpecs.logExternalSourceBad(), 1, LOGGING_PRIVATE_DATA, ERROR, [Return from Object ExternalSpecs.privateDataSource(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/Fields.java, void Fields.instanceFieldBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Fields.java, void Fields.staticFieldBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Fields.java, void Fields.viaFieldBad1(Fields$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Fields.java, void Fields.viaFieldBad2(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Fields.java, void Fields.viaFieldBad3(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Fields.java, void Fields.viaNestedFieldBad1(Fields$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Fields.java, void Fields.viaNestedFieldBad2(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Files.java, File Files.fileConstructorSinkBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to File.(String) with tainted index 1] +codetoanalyze/java/quandary/Files.java, Path Files.fileSystemConstructorSinkBad1(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path FileSystem.getPath(String,java.lang.String[]) with tainted index 1] +codetoanalyze/java/quandary/Files.java, Path Files.fileSystemConstructorSinkBad2(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path FileSystem.getPath(String,java.lang.String[]) with tainted index 2] +codetoanalyze/java/quandary/Files.java, Path Files.pathsSinkBad1(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path Paths.get(String,java.lang.String[]) with tainted index 0] +codetoanalyze/java/quandary/Files.java, Path Files.pathsSinkBad2(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Path Paths.get(String,java.lang.String[]) with tainted index 1] +codetoanalyze/java/quandary/FlowSensitivity.java, void FlowSensitivity.callSourceAndSinkBad1(FlowSensitivity$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data @val$0.codetoanalyze.java.quandary.FlowSensitivity$Obj.f*,Return from void FlowSensitivity.sourceAndSink(FlowSensitivity$Obj),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/FlowSensitivity.java, void FlowSensitivity.callSourceAndSinkBad2(FlowSensitivity$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void FlowSensitivity.sourceAndSink(FlowSensitivity$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/FlowSensitivity.java, void FlowSensitivity.interproceduralFlowSensitivityBad(FlowSensitivity$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data @val$0.codetoanalyze.java.quandary.FlowSensitivity$Obj.f*,Return from void FlowSensitivity.returnSource(FlowSensitivity$Obj),Call to void FlowSensitivity.callSink(FlowSensitivity$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to boolean ContextWrapper.bindService(Intent,ServiceConnection,int) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendBroadcast(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendBroadcastAsUser(Intent,UserHandle) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendOrderedBroadcast(Intent,String) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 8, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendOrderedBroadcastAsUser(Intent,UserHandle,String,BroadcastReceiver,Handler,int,String,Bundle) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 9, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyBroadcast(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 10, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyBroadcastAsUser(Intent,UserHandle) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 11, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyOrderedBroadcast(Intent,BroadcastReceiver,Handler,int,String,Bundle) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 12, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void ContextWrapper.sendStickyOrderedBroadcastAsUser(Intent,UserHandle,BroadcastReceiver,Handler,int,String,Bundle) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 13, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivities(android.content.Intent[]) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 14, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 15, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivityForResult(Intent,int) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 16, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to boolean Activity.startActivityIfNeeded(Intent,int) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 17, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivityFromChild(Activity,Intent,int) with tainted index 2] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 18, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startActivityFromFragment(Fragment,Intent,int) with tainted index 2] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 19, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startIntentSender(IntentSender,Intent,int,int,int) with tainted index 2] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 20, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startIntentSenderForResult(IntentSender,int,Intent,int,int,int) with tainted index 3] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 21, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Activity.startIntentSenderFromChild(Activity,IntentSender,int,Intent,int,int,int) with tainted index 4] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 22, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to ComponentName ContextWrapper.startService(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllActivitySinksBad(Activity,String), 23, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to boolean ContextWrapper.stopService(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.getIntent(String) with tainted index 0] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.getIntentOld(String) with tainted index 0] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 8, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setClassName(String,String) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 9, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setData(Uri) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 10, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setDataAndNormalize(Uri) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 11, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setDataAndType(Uri,String) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 12, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setDataAndTypeAndNormalize(Uri,String) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.callAllIntentSinks(), 13, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Intent Intent.setPackage(String) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.extraToDataBad(), 5, UNTRUSTED_INTENT_CREATION, ERROR, [Return from String Intent.getStringExtra(String),Call to Intent Intent.setData(Uri) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.extraToDataBad(), 7, UNTRUSTED_INTENT_CREATION, ERROR, [Return from String Intent.getStringExtra(String),Call to Intent Intent.setData(Uri) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.startWithUri1Bad(Uri), 1, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent.(String,Uri),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.startWithUri2Bad(Uri), 1, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent.(String,Uri,Context,Class),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void Intents.subclassCallBad(IntentSubclass,ContextSubclass), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Context.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/Intents.java, void MyActivity.startServiceWithTaintedIntent(), 2, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent.(String,Uri),Call to ComponentName ContextWrapper.startService(Intent) with tainted index 1] +codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsIntraprocedural(Object), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsSinkInterprocedural(Object), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to Object Interprocedural.callSinkIrrelevantPassthrough(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsSourceAndSinkInterprocedural(Object), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return,Return from Object Interprocedural.returnSourceIrrelevantPassthrough(Object),Call to Object Interprocedural.callSinkIrrelevantPassthrough(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, Object Interprocedural.irrelevantPassthroughsSourceInterprocedural(Object), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return,Return from Object Interprocedural.returnSourceIrrelevantPassthrough(Object),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.FP_divergenceInCallee(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.FP_reassignInCallee(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.FP_trackParamsOk(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceConditional(boolean),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSink1Bad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkA(Interprocedural$Obj) with tainted index 0,Call to void Interprocedural.callSink1(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSink3Bad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkC(Interprocedural$Obj) with tainted index 0,Call to void Interprocedural.callSink3(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSink4Bad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkD(Interprocedural$Obj) with tainted index 0,Call to void Interprocedural.callSink4(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callDeepSinkIndirectBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkIndirectOnParam(Object) with tainted index 0,Call to void Interprocedural.callSinkOnParam(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkNoTripleReportBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam1(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkNoTripleReportBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam2(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnFieldDirectBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnFieldDirect() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnFieldIndirectBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnFieldIndirect(Interprocedural$Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnGlobalBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnGlobal() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkOnLocalBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnLocal() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkParam1Bad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam1(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkParam2Bad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkParam2(Object,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.callSinkVariadicBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkVariadic(java.lang.Object[]) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.doublePassthroughBad(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.getGlobalThenCallSinkBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.getGlobalThenCallSink() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceDirectBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceDirect(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceDirectViaVarBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceDirect(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceIndirectBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object Interprocedural.returnSourceDirect() with tainted data &return*,Return from Object Interprocedural.returnSourceIndirect(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaFieldBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return.codetoanalyze.java.quandary.Interprocedural$Obj.f*,Return from Interprocedural$Obj Interprocedural.returnSourceViaField(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaGlobalBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &#GB<>$codetoanalyze.java.quandary.Interprocedural.codetoanalyze.java.quandary.Interprocedural.sGlobal*,Return from void Interprocedural.returnSourceViaGlobal(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaParameter1Bad(Interprocedural$Obj), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data @val$0.codetoanalyze.java.quandary.Interprocedural$Obj.f*,Return from void Interprocedural.returnSourceViaParameter1(Interprocedural$Obj),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.returnSourceViaParameter2Bad(Interprocedural$Obj,Interprocedural$Obj), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.setGlobalThenCallSinkBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Interprocedural.callSinkOnGlobal() with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Interprocedural.java, void Interprocedural.singlePassthroughBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getSpeed(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getDeviceId(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getLine1Number(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getAltitude(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLongitude(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getBearing(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 36, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLatitude(),Call to int Log.e(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getDeviceId(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLongitude(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getLine1Number(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getAltitude(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getBearing(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLatitude(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getSpeed(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 37, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.println(int,String,String) with tainted index 2] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getAltitude(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLatitude(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getBearing(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLongitude(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getLine1Number(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getDeviceId(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 38, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getSpeed(),Call to int Log.w(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getVoiceMailNumber(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getSpeed(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLongitude(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSubscriberId(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getSimSerialNumber(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getLatitude(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from double Location.getAltitude(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from float Location.getBearing(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getDeviceId(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/LoggingPrivateData.java, void LoggingPrivateData.logAllSourcesBad(Location,TelephonyManager), 39, LOGGING_PRIVATE_DATA, ERROR, [Return from String TelephonyManager.getLine1Number(),Call to int Log.wtf(String,String) with tainted index 1] +codetoanalyze/java/quandary/Recursion.java, void Recursion.callSinkThenDivergeBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Recursion.callSinkThenDiverge(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Recursion.java, void Recursion.safeRecursionCallSinkBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Recursion.safeRecursionCallSink(int,Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Serialization.java, Object Serialization.taintedObjectInputStreamBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to ObjectInputStream.(InputStream) with tainted index 1] +codetoanalyze/java/quandary/Services.java, void Implementer.interfaceServiceMethodBad(String), 1, SHELL_INJECTION, ERROR, [Return from void Implementer.interfaceServiceMethodBad(String),Call to Process Runtime.exec(String) with tainted index 1] +codetoanalyze/java/quandary/Services.java, void Service1.serviceMethodBad(String), 1, SHELL_INJECTION, ERROR, [Return from void Service1.serviceMethodBad(String),Call to Process Runtime.exec(String) with tainted index 1] +codetoanalyze/java/quandary/Strings.java, void Strings.viaFormatterBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaFormatterIgnoreReturnBad(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBufferBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBufferIgnoreReturnBad(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBuilderBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBuilderIgnoreReturnBad(), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringBuilderSugarBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringFormatVarArgsDirectBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Strings.java, void Strings.viaStringFormatVarArgsIndirectBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Strings.viaStringFormatVarArgsIndirect(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintExample.java, void TaintExample.interprocTaintErrorWithModelMethods1(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object TaintExample.returnTaintedSourceModelMethods(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintExample.java, void TaintExample.interprocTaintErrorWithModelMethods2(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void TaintExample.callSinkMethodModelMethods(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintExample.java, void TaintExample.interprocTaintErrorWithModelMethods3(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource() with tainted data &return*,Return from Object TaintExample.returnTaintedSourceModelMethods(),Call to void TaintExample.callSinkMethodModelMethods(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintExample.java, void TaintExample.simpleTaintErrorWithModelMethods(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.callTaintedContextBad1(String), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object TaintedFormals.taintedContextBad(String) with tainted data &return*,Return from Object TaintedFormals.taintedContextBad(String),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.callTaintedContextBad2(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void TaintedFormals.taintedContextBad(String,Intent,Integer) with tainted index 1,Call to ComponentName ContextWrapper.startService(Intent) with tainted index 1] +codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void TaintedFormals.callSink(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/TaintedFormals.java, void TaintedFormals.taintedContextBad(String,Intent,Integer), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from void TaintedFormals.taintedContextBad(String,Intent,Integer),Call to void TaintedFormals.callSink(Object) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/Traces.java, void Traces.sourceMethod(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void Traces.callSameSink(Obj,Obj,Obj,Obj) with tainted index 0,Call to void Traces.callMySinkIndirect(Obj) with tainted index 0,Call to void Traces.callMySink(Obj) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.callPropagateFootprintBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void UnknownCode.propagateFootprint(String) with tainted index 0,Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.callUnknownSetterBad(Intent), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateEmptyBad(), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateEmptyBad(), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaInterfaceCodeBad(UnknownCode$Interface), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaUnknownAbstractCodeBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaUnknownConstructorBad(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UnknownCode.java, void UnknownCode.propagateViaUnknownNativeCodeBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder1Bad(), 1, SHELL_INJECTION, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder.(java.lang.String[]) with tainted index 1] +codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder2Bad(), 1, SHELL_INJECTION, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder.(java.lang.String[]) with tainted index 1] +codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder3Bad(ProcessBuilder), 1, SHELL_INJECTION, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder ProcessBuilder.command(java.lang.String[]) with tainted index 1] +codetoanalyze/java/quandary/UserControlledStrings.java, ProcessBuilder UserControlledStrings.clipboardToProcessBuilder4Bad(ProcessBuilder), 3, SHELL_INJECTION, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to ProcessBuilder ProcessBuilder.command(List) with tainted index 1] +codetoanalyze/java/quandary/UserControlledStrings.java, Spanned UserControlledStrings.clipboardToHtmlBad(), 1, CROSS_SITE_SCRIPTING, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to Spanned Html.fromHtml(String) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, Spanned UserControlledStrings.editTextToHtmlBad(), 1, CROSS_SITE_SCRIPTING, ERROR, [Return from Editable EditText.getText(),Call to Spanned Html.fromHtml(String) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.clipboardToShellArrayBad(), 2, SHELL_INJECTION, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to Process Runtime.exec(java.lang.String[]) with tainted index 1] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.clipboardToShellDirectBad(), 1, SHELL_INJECTION, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to Process Runtime.exec(String) with tainted index 1] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 1, QUANDARY_TAINT_ERROR, ERROR, [Return from CharSequence ClipboardManager.getText(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/UserControlledStrings.java, void UserControlledStrings.readClipboardSourcesBad(), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from ClipData ClipboardManager.getPrimaryClip(),Call to void InferTaint.inferSensitiveSink(Object) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, WebResourceResponse WebViews$MyWebViewClient.shouldInterceptRequest(WebView,WebResourceRequest), 1, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent.(String,Uri),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsAlert(WebView,String,String,JsResult), 2, UNTRUSTED_INTENT_CREATION, ERROR, [Return from boolean WebViews$MyWebChromeClient.onJsAlert(WebView,String,String,JsResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsAlert(WebView,String,String,JsResult), 3, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsBeforeUnload(WebView,String,String,JsResult), 2, UNTRUSTED_INTENT_CREATION, ERROR, [Return from boolean WebViews$MyWebChromeClient.onJsBeforeUnload(WebView,String,String,JsResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsBeforeUnload(WebView,String,String,JsResult), 3, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsConfirm(WebView,String,String,JsResult), 2, UNTRUSTED_INTENT_CREATION, ERROR, [Return from boolean WebViews$MyWebChromeClient.onJsConfirm(WebView,String,String,JsResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsConfirm(WebView,String,String,JsResult), 3, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsPrompt(WebView,String,String,String,JsPromptResult), 2, UNTRUSTED_INTENT_CREATION, ERROR, [Return from boolean WebViews$MyWebChromeClient.onJsPrompt(WebView,String,String,String,JsPromptResult),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebChromeClient.onJsPrompt(WebView,String,String,String,JsPromptResult), 3, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebViewClient.shouldOverrideUrlLoading(WebView,String), 2, UNTRUSTED_INTENT_CREATION, ERROR, [Return from boolean WebViews$MyWebViewClient.shouldOverrideUrlLoading(WebView,String),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, boolean WebViews$MyWebViewClient.shouldOverrideUrlLoading(WebView,String), 3, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, void WebViews$MyWebViewClient.onLoadResource(WebView,String), 2, UNTRUSTED_INTENT_CREATION, ERROR, [Return from void WebViews$MyWebViewClient.onLoadResource(WebView,String),Call to Intent Intent.parseUri(String,int) with tainted index 0] +codetoanalyze/java/quandary/WebViews.java, void WebViews$MyWebViewClient.onLoadResource(WebView,String), 3, CREATE_INTENT_FROM_URI, ERROR, [Return from Intent Intent.parseUri(String,int),Call to void Activity.startActivity(Intent) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 3, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.evaluateJavascript(String,ValueCallback) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 4, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.loadData(String,String,String) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 5, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.loadDataWithBaseURL(String,String,String,String,String) with tainted index 2] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 6, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.loadUrl(String) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 7, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.postUrl(String,byte[]) with tainted index 1] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSinks(WebView), 8, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.postWebMessage(WebMessage,Uri) with tainted index 2] +codetoanalyze/java/quandary/WebViews.java, void WebViews.callWebviewSubclassSink(WebViews$MyWebView), 2, QUANDARY_TAINT_ERROR, ERROR, [Return from Object InferTaint.inferSecretSource(),Call to void WebView.evaluateJavascript(String,ValueCallback) with tainted index 1] diff --git a/infer/tests/codetoanalyze/java/racerd/issues.exp b/infer/tests/codetoanalyze/java/racerd/issues.exp index 7057ce8a6..ee4eefaa8 100644 --- a/infer/tests/codetoanalyze/java/racerd/issues.exp +++ b/infer/tests/codetoanalyze/java/racerd/issues.exp @@ -1,128 +1,128 @@ -codetoanalyze/java/racerd/AndroidModels.java, void AndroidModels.someResourceMethodsNotFunctionalBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.AndroidModels.mField`] -codetoanalyze/java/racerd/Annotations.java, boolean Annotations.FP_functionalAcrossUnboxingOk(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.mBool2`] -codetoanalyze/java/racerd/Annotations.java, double Annotations.functionalDoubleBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.mDouble`] -codetoanalyze/java/racerd/Annotations.java, int Annotations.FP_functionalAcrossBoxingLongOk(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.mBoxedLong2`] -codetoanalyze/java/racerd/Annotations.java, int Annotations.functionalAcrossUnboxingLongBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.mLong2`] -codetoanalyze/java/racerd/Annotations.java, long Annotations.functionaLongBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.mLong`] -codetoanalyze/java/racerd/Annotations.java, void Annotations.conditional2_bad(boolean), 5, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.ii`] -codetoanalyze/java/racerd/Annotations.java, void Annotations.functionalAndNonfunctionalBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.mInt`] -codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateOffUiThreadBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.f`] -codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateSubfieldOfConfinedBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Annotations.encapsulatedField.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Annotations.java, void Annotations.read_from_non_confined_method_Bad(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Annotations.zz`,,access to `&this.codetoanalyze.java.checkers.Annotations.zz`] -codetoanalyze/java/racerd/Annotations.java, void Annotations.read_off_UI_thread_Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Annotations.f`,,access to `&this.codetoanalyze.java.checkers.Annotations.f`] -codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad1(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeAlias.field`] -codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad2(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeAlias.field`] -codetoanalyze/java/racerd/Arrays.java, String Arrays.readWriteRaceBad(String), 4, THREAD_SAFETY_VIOLATION, [,access to `&this.Arrays.strArr1.[_]`,,access to `&this.Arrays.strArr1.[_]`] -codetoanalyze/java/racerd/Arrays.java, void Arrays.arrayParameterWriteBad(int[]), 1, THREAD_SAFETY_VIOLATION, [access to `&name1.[_]`] -codetoanalyze/java/racerd/Arrays.java, void Arrays.writeWriteRaceBad(String), 1, THREAD_SAFETY_VIOLATION, [access to `&this.Arrays.strArr1.[_]`] -codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 2, THREAD_SAFETY_VIOLATION, [,call to Builders$Obj$Builder Builders$Obj$Builder.setFromObj(Builders$Obj),access to `&input.codetoanalyze.java.checkers.Builders$Obj.g`,,access to `&input.codetoanalyze.java.checkers.Builders$Obj.g`] -codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 3, THREAD_SAFETY_VIOLATION, [access to `&input.codetoanalyze.java.checkers.Builders$Obj.g`] -codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.mutateBad(Builders$Obj), 1, THREAD_SAFETY_VIOLATION, [access to `&o.codetoanalyze.java.checkers.Builders$Obj.g`] -codetoanalyze/java/racerd/Builders.java, void TopLevelBuilder.setG(String), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.TopLevelBuilder.g`] -codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.FP_singleton2Ok(), 6, THREAD_SAFETY_VIOLATION, [,access to `&#GB<>$Constructors.Constructors.sSingleton1`,,access to `&#GB<>$Constructors.Constructors.sSingleton1`] -codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton1Bad(), 2, THREAD_SAFETY_VIOLATION, [call to Constructors.(Object),access to `&#GB<>$Constructors.Constructors.staticField`] -codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&#GB<>$Constructors.Constructors.sSingleton2`,,access to `&#GB<>$Constructors.Constructors.sSingleton2`] -codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 2, THREAD_SAFETY_VIOLATION, [access to `&#GB<>$Constructors.Constructors.sSingleton2`] -codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 4, THREAD_SAFETY_VIOLATION, [,access to `&#GB<>$Constructors.Constructors.sSingleton2`,,access to `&#GB<>$Constructors.Constructors.sSingleton2`] -codetoanalyze/java/racerd/Constructors.java, Constructors.(), 1, THREAD_SAFETY_VIOLATION, [access to `&#GB<>$Constructors.Constructors.staticField`] -codetoanalyze/java/racerd/Constructors.java, Constructors.(Constructors), 1, THREAD_SAFETY_VIOLATION, [access to `&o.Constructors.field`] -codetoanalyze/java/racerd/Containers.java, boolean Containers.listReadBad(String), 1, THREAD_SAFETY_VIOLATION, [,Read of container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `contains`,,Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `set`] -codetoanalyze/java/racerd/Containers.java, int Containers.readSimpleArrayMap(), 1, THREAD_SAFETY_VIOLATION, [,Read of container `&this.codetoanalyze.java.checkers.Containers.si_map` via call to `get`,,Write to container `&this.codetoanalyze.java.checkers.Containers.si_map` via call to `put`] -codetoanalyze/java/racerd/Containers.java, void Containers.addToSimpleArrayMapBad(SimpleArrayMap), 1, THREAD_SAFETY_VIOLATION, [Write to container `&map` via call to `put`] -codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayBad(SparseArray), 1, THREAD_SAFETY_VIOLATION, [Write to container `&sparseArray` via call to `put`] -codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayCompatBad(SparseArrayCompat), 1, THREAD_SAFETY_VIOLATION, [Write to container `&sparseArray` via call to `put`] -codetoanalyze/java/racerd/Containers.java, void Containers.containerWrapperUnownedWriteBad(Object), 1, THREAD_SAFETY_VIOLATION, [call to Object ContainerWrapper.write(Object),call to Object ContainerWrapper._write(Object),Write to container `&this.codetoanalyze.java.checkers.ContainerWrapper.children` via call to `add`] -codetoanalyze/java/racerd/Containers.java, void Containers.listAddAllBad(Collection), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `addAll`] -codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad1(String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `add`] -codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad2(int,String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `add`] -codetoanalyze/java/racerd/Containers.java, void Containers.listClearBad(), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `clear`] -codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad1(int), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`] -codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad2(String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`] -codetoanalyze/java/racerd/Containers.java, void Containers.listSetBad(int,String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `set`] -codetoanalyze/java/racerd/Containers.java, void Containers.listSubclassWriteBad(ArrayList,int), 1, THREAD_SAFETY_VIOLATION, [Write to container `&list` via call to `remove`] -codetoanalyze/java/racerd/Containers.java, void Containers.mapClearBad(), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `clear`] -codetoanalyze/java/racerd/Containers.java, void Containers.mapPutAllBad(Map), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `putAll`] -codetoanalyze/java/racerd/Containers.java, void Containers.mapPutBad(String,String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `put`] -codetoanalyze/java/racerd/Containers.java, void Containers.mapRemoveBad(String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `remove`] -codetoanalyze/java/racerd/Containers.java, void Containers.mapSubclassWriteBad(HashMap,String), 1, THREAD_SAFETY_VIOLATION, [Write to container `&m` via call to `remove`] -codetoanalyze/java/racerd/Containers.java, void Containers.poolBad(), 5, THREAD_SAFETY_VIOLATION, [Write to container `&this.codetoanalyze.java.checkers.Containers.simplePool` via call to `release`] -codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.globalNotOwnedBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&#GB<>$DeepOwnership.DeepOwnership.global.DeepOwnership.next`] -codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.reassignBaseToGlobalBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&x.DeepOwnership.next`] -codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceBad(UnannotatedInterface), 1, INTERFACE_NOT_THREAD_SAFE, [Call to un-annotated interface method void UnannotatedInterface.foo()] -codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceIndirectBad(NotThreadSafe,UnannotatedInterface), 1, INTERFACE_NOT_THREAD_SAFE, [call to void NotThreadSafe.notThreadSafeOk(UnannotatedInterface),Call to un-annotated interface method void UnannotatedInterface.foo()] -codetoanalyze/java/racerd/Inference.java, int Inference.read4OutsideSyncBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Inference.mField4`,,access to `&this.codetoanalyze.java.checkers.Inference.mField4`] -codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead1Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Inference.mField1`,,access to `&this.codetoanalyze.java.checkers.Inference.mField1`] -codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead2Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Inference.mField2`,,access to `&this.codetoanalyze.java.checkers.Inference.mField2`] -codetoanalyze/java/racerd/Locks.java, Object Locks.unownedReadBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Locks.mField3`,,call to void Locks.lockedWriteInCallee2(),access to `&this.codetoanalyze.java.checkers.Locks.mField3`] -codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock1Bad(), 3, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Locks.mField`,,access to `&this.codetoanalyze.java.checkers.Locks.mField`] -codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock2Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Locks.mField`,,access to `&this.codetoanalyze.java.checkers.Locks.mField`] -codetoanalyze/java/racerd/Locks.java, void Locks.afterReentrantLockUnlockBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.afterUnlockBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.afterWriteLockUnlockBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.lockInLoopLexicalBad(int), 6, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.negatedReentrantLockTryLockBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.nested1Bad(), 5, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.nested2Bad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.nested3Bad(), 5, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.tryLockNoCheckBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.tryLockWrongBranchBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Locks.java, void Locks.useLockInCalleeBad(), 2, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.Locks.f`] -codetoanalyze/java/racerd/Ownership.java, Ownership.(Obj,Object), 1, THREAD_SAFETY_VIOLATION, [access to `&obj.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, int Ownership.readGlobalBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&#GB<>$codetoanalyze.java.checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`,,access to `&#GB<>$codetoanalyze.java.checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.cantOwnThisBad(), 1, THREAD_SAFETY_VIOLATION, [call to void Ownership.setField(Obj),access to `&this.codetoanalyze.java.checkers.Ownership.field`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenCallBad(), 2, THREAD_SAFETY_VIOLATION, [call to void Ownership.castThenCall(Obj),call to void Subclass.doWrite(),access to `&this.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenReturnBad(), 2, THREAD_SAFETY_VIOLATION, [access to `n$5.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.conditionalAliasBad(Obj), 1, THREAD_SAFETY_VIOLATION, [call to void Ownership.conditionalAlias(Obj,Obj),access to `&alias.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.notOwnedInCalleeBad(Obj), 1, THREAD_SAFETY_VIOLATION, [call to void Ownership.mutateIfNotNull(Obj),access to `&o.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToAccessPathRootedAtFormalBad(Obj), 1, THREAD_SAFETY_VIOLATION, [access to `&m.codetoanalyze.java.checkers.Obj.g`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Ownership.field`,,call to void Ownership.setField(Obj),access to `&this.codetoanalyze.java.checkers.Ownership.field`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 3, THREAD_SAFETY_VIOLATION, [access to `&m.codetoanalyze.java.checkers.Obj.g`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.ownInOneBranchBad(Obj,boolean), 5, THREAD_SAFETY_VIOLATION, [access to `&formal.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignParamToUnownedBad(), 1, THREAD_SAFETY_VIOLATION, [call to void Ownership.reassignParamToUnowned(Obj),access to `&o.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 2, THREAD_SAFETY_VIOLATION, [access to `&formal.codetoanalyze.java.checkers.Obj.g`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 3, THREAD_SAFETY_VIOLATION, [,access to `&formal.codetoanalyze.java.checkers.Obj.g`,,access to `&formal.codetoanalyze.java.checkers.Obj.g`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad1(Obj), 1, THREAD_SAFETY_VIOLATION, [call to void Ownership.writeToFormal(Obj),access to `&formal.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad2(), 2, THREAD_SAFETY_VIOLATION, [call to void Ownership.writeToFormal(Obj),access to `&formal.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad3(Obj), 1, THREAD_SAFETY_VIOLATION, [call to void Ownership.callWriteToFormal(Obj),call to void Ownership.writeToFormal(Obj),access to `&formal.codetoanalyze.java.checkers.Obj.f`] -codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToOwnedInCalleeOk2(), 4, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Ownership.field`,,access to `&this.codetoanalyze.java.checkers.Ownership.field`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional2_bad(boolean), 6, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditionalMainThreadWriteBad(), 1, THREAD_SAFETY_VIOLATION, [call to void RaceWithMainThread.conditionalMainThreadWrite2(boolean),access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.mOnlyWrittenOnMain`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_ElseBranch_Bad(), 7, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_Negation_Bad(), 3, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isUiThread_ElseBranch_Bad(), 7, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.confusedAssertBad(boolean), 7, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.mFld`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.readProtectedUnthreadedBad(), 3, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`,,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded1_Bad(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f1`,,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f1`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded_Bad(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`,,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`] -codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.writeAfterConditionalMainThreadInCalleeBad(), 4, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.mSharedField`] -codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.callUnprotecteReadInCallee(), 1, THREAD_SAFETY_VIOLATION, [,call to Object ReadWriteRaces.unprotectedReadInCallee(),access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`] -codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead1(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`] -codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead2(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field2`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field2`] -codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead3(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field3`,,call to void ReadWriteRaces.syncWrite3(),access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field3`] -codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m1(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] -codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m2(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] -codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m3(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] -codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.readInCalleeOutsideSyncBad(int), 1, THREAD_SAFETY_VIOLATION, [,call to int C.get(),access to `&this.codetoanalyze.java.checkers.C.x`,,call to void C.set(int),access to `&this.codetoanalyze.java.checkers.C.x`] -codetoanalyze/java/racerd/SubFld.java, int SubFld.getG(), 6, THREAD_SAFETY_VIOLATION, [,call to int SuperFld.getG(),access to `&this.SuperFld.g`,,access to `&this.SuperFld.g`] -codetoanalyze/java/racerd/ThreadSafeExample.java, Object ThreadSafeExample.FP_lazyInitOk(), 6, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.newmethodBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.tsOK(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callPublicMethodBad(), 1, THREAD_SAFETY_VIOLATION, [call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callVisibleForTestingBad(), 1, THREAD_SAFETY_VIOLATION, [call to void ThreadSafeExample.visibleForTestingNotPublicOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.deeperTraceBad(), 1, THREAD_SAFETY_VIOLATION, [call to void ThreadSafeExample.callAssignInPrivateMethod(),call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.oddBad(), 1, THREAD_SAFETY_VIOLATION, [call to void ThreadSafeExample.evenOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.recursiveBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.tsBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] -codetoanalyze/java/racerd/ThreadSafeExample.java, void YesThreadSafeExtendsNotThreadSafeExample.subsubmethodBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.YesThreadSafeExtendsNotThreadSafeExample.subsubfield`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod1Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod2Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethodWhileSynchronized1Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.threadSafeMethodReadBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethodsSubclass.readThreadSafeFieldOfOverrideBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeMethodWriteBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafePrivateMethodBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeVisibleForTestingMethodBad(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field3`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod1Bad(), 2, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod2Bad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.safeMethodOverride(), 1, THREAD_SAFETY_VIOLATION, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] -codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.writeThreadSafeFieldOfOverrideBad(), 1, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] +codetoanalyze/java/racerd/AndroidModels.java, void AndroidModels.someResourceMethodsNotFunctionalBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.AndroidModels.mField`] +codetoanalyze/java/racerd/Annotations.java, boolean Annotations.FP_functionalAcrossUnboxingOk(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.mBool2`] +codetoanalyze/java/racerd/Annotations.java, double Annotations.functionalDoubleBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.mDouble`] +codetoanalyze/java/racerd/Annotations.java, int Annotations.FP_functionalAcrossBoxingLongOk(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.mBoxedLong2`] +codetoanalyze/java/racerd/Annotations.java, int Annotations.functionalAcrossUnboxingLongBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.mLong2`] +codetoanalyze/java/racerd/Annotations.java, long Annotations.functionaLongBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.mLong`] +codetoanalyze/java/racerd/Annotations.java, void Annotations.conditional2_bad(boolean), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.ii`] +codetoanalyze/java/racerd/Annotations.java, void Annotations.functionalAndNonfunctionalBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.mInt`] +codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateOffUiThreadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.f`] +codetoanalyze/java/racerd/Annotations.java, void Annotations.mutateSubfieldOfConfinedBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Annotations.encapsulatedField.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Annotations.java, void Annotations.read_from_non_confined_method_Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Annotations.zz`,,access to `&this.codetoanalyze.java.checkers.Annotations.zz`] +codetoanalyze/java/racerd/Annotations.java, void Annotations.read_off_UI_thread_Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Annotations.f`,,access to `&this.codetoanalyze.java.checkers.Annotations.f`] +codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad1(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeAlias.field`] +codetoanalyze/java/racerd/Annotations.java, void ThreadSafeAlias.threadSafeAliasBad2(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeAlias.field`] +codetoanalyze/java/racerd/Arrays.java, String Arrays.readWriteRaceBad(String), 4, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.Arrays.strArr1.[_]`,,access to `&this.Arrays.strArr1.[_]`] +codetoanalyze/java/racerd/Arrays.java, void Arrays.arrayParameterWriteBad(int[]), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&name1.[_]`] +codetoanalyze/java/racerd/Arrays.java, void Arrays.writeWriteRaceBad(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.Arrays.strArr1.[_]`] +codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 2, THREAD_SAFETY_VIOLATION, ERROR, [,call to Builders$Obj$Builder Builders$Obj$Builder.setFromObj(Builders$Obj),access to `&input.codetoanalyze.java.checkers.Builders$Obj.g`,,access to `&input.codetoanalyze.java.checkers.Builders$Obj.g`] +codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.buildThenMutateBad(Builders$Obj), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&input.codetoanalyze.java.checkers.Builders$Obj.g`] +codetoanalyze/java/racerd/Builders.java, Builders$Obj Builders.mutateBad(Builders$Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&o.codetoanalyze.java.checkers.Builders$Obj.g`] +codetoanalyze/java/racerd/Builders.java, void TopLevelBuilder.setG(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.TopLevelBuilder.g`] +codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.FP_singleton2Ok(), 6, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&#GB<>$Constructors.Constructors.sSingleton1`,,access to `&#GB<>$Constructors.Constructors.sSingleton1`] +codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton1Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [call to Constructors.(Object),access to `&#GB<>$Constructors.Constructors.staticField`] +codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&#GB<>$Constructors.Constructors.sSingleton2`,,access to `&#GB<>$Constructors.Constructors.sSingleton2`] +codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&#GB<>$Constructors.Constructors.sSingleton2`] +codetoanalyze/java/racerd/Constructors.java, Constructors Constructors.singleton2Bad(), 4, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&#GB<>$Constructors.Constructors.sSingleton2`,,access to `&#GB<>$Constructors.Constructors.sSingleton2`] +codetoanalyze/java/racerd/Constructors.java, Constructors.(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&#GB<>$Constructors.Constructors.staticField`] +codetoanalyze/java/racerd/Constructors.java, Constructors.(Constructors), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&o.Constructors.field`] +codetoanalyze/java/racerd/Containers.java, boolean Containers.listReadBad(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [,Read of container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `contains`,,Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `set`] +codetoanalyze/java/racerd/Containers.java, int Containers.readSimpleArrayMap(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,Read of container `&this.codetoanalyze.java.checkers.Containers.si_map` via call to `get`,,Write to container `&this.codetoanalyze.java.checkers.Containers.si_map` via call to `put`] +codetoanalyze/java/racerd/Containers.java, void Containers.addToSimpleArrayMapBad(SimpleArrayMap), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&map` via call to `put`] +codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayBad(SparseArray), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&sparseArray` via call to `put`] +codetoanalyze/java/racerd/Containers.java, void Containers.addToSparseArrayCompatBad(SparseArrayCompat), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&sparseArray` via call to `put`] +codetoanalyze/java/racerd/Containers.java, void Containers.containerWrapperUnownedWriteBad(Object), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to Object ContainerWrapper.write(Object),call to Object ContainerWrapper._write(Object),Write to container `&this.codetoanalyze.java.checkers.ContainerWrapper.children` via call to `add`] +codetoanalyze/java/racerd/Containers.java, void Containers.listAddAllBad(Collection), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `addAll`] +codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad1(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `add`] +codetoanalyze/java/racerd/Containers.java, void Containers.listAddBad2(int,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `add`] +codetoanalyze/java/racerd/Containers.java, void Containers.listClearBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `clear`] +codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad1(int), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`] +codetoanalyze/java/racerd/Containers.java, void Containers.listRemoveBad2(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `remove`] +codetoanalyze/java/racerd/Containers.java, void Containers.listSetBad(int,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mList` via call to `set`] +codetoanalyze/java/racerd/Containers.java, void Containers.listSubclassWriteBad(ArrayList,int), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&list` via call to `remove`] +codetoanalyze/java/racerd/Containers.java, void Containers.mapClearBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `clear`] +codetoanalyze/java/racerd/Containers.java, void Containers.mapPutAllBad(Map), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `putAll`] +codetoanalyze/java/racerd/Containers.java, void Containers.mapPutBad(String,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `put`] +codetoanalyze/java/racerd/Containers.java, void Containers.mapRemoveBad(String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.mMap` via call to `remove`] +codetoanalyze/java/racerd/Containers.java, void Containers.mapSubclassWriteBad(HashMap,String), 1, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&m` via call to `remove`] +codetoanalyze/java/racerd/Containers.java, void Containers.poolBad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [Write to container `&this.codetoanalyze.java.checkers.Containers.simplePool` via call to `release`] +codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.globalNotOwnedBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&#GB<>$DeepOwnership.DeepOwnership.global.DeepOwnership.next`] +codetoanalyze/java/racerd/DeepOwnership.java, void DeepOwnership.reassignBaseToGlobalBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&x.DeepOwnership.next`] +codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceBad(UnannotatedInterface), 1, INTERFACE_NOT_THREAD_SAFE, ERROR, [Call to un-annotated interface method void UnannotatedInterface.foo()] +codetoanalyze/java/racerd/Dispatch.java, void Dispatch.callUnannotatedInterfaceIndirectBad(NotThreadSafe,UnannotatedInterface), 1, INTERFACE_NOT_THREAD_SAFE, ERROR, [call to void NotThreadSafe.notThreadSafeOk(UnannotatedInterface),Call to un-annotated interface method void UnannotatedInterface.foo()] +codetoanalyze/java/racerd/Inference.java, int Inference.read4OutsideSyncBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Inference.mField4`,,access to `&this.codetoanalyze.java.checkers.Inference.mField4`] +codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead1Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Inference.mField1`,,access to `&this.codetoanalyze.java.checkers.Inference.mField1`] +codetoanalyze/java/racerd/Inference.java, int Inference.unprotectedRead2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Inference.mField2`,,access to `&this.codetoanalyze.java.checkers.Inference.mField2`] +codetoanalyze/java/racerd/Locks.java, Object Locks.unownedReadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Locks.mField3`,,call to void Locks.lockedWriteInCallee2(),access to `&this.codetoanalyze.java.checkers.Locks.mField3`] +codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock1Bad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Locks.mField`,,access to `&this.codetoanalyze.java.checkers.Locks.mField`] +codetoanalyze/java/racerd/Locks.java, boolean Locks.readOutsideLock2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Locks.mField`,,access to `&this.codetoanalyze.java.checkers.Locks.mField`] +codetoanalyze/java/racerd/Locks.java, void Locks.afterReentrantLockUnlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.afterUnlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.afterWriteLockUnlockBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.lockInLoopLexicalBad(int), 6, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.negatedReentrantLockTryLockBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.nested1Bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.nested2Bad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.nested3Bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.tryLockNoCheckBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.tryLockWrongBranchBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Locks.java, void Locks.useLockInCalleeBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.Locks.f`] +codetoanalyze/java/racerd/Ownership.java, Ownership.(Obj,Object), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&obj.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, int Ownership.readGlobalBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&#GB<>$codetoanalyze.java.checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`,,access to `&#GB<>$codetoanalyze.java.checkers.Ownership.codetoanalyze.java.checkers.Ownership.global`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.cantOwnThisBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.setField(Obj),access to `&this.codetoanalyze.java.checkers.Ownership.field`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenCallBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.castThenCall(Obj),call to void Subclass.doWrite(),access to `&this.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.castThenReturnBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `n$5.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.conditionalAliasBad(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.conditionalAlias(Obj,Obj),access to `&alias.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.notOwnedInCalleeBad(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.mutateIfNotNull(Obj),access to `&o.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToAccessPathRootedAtFormalBad(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&m.codetoanalyze.java.checkers.Obj.g`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Ownership.field`,,call to void Ownership.setField(Obj),access to `&this.codetoanalyze.java.checkers.Ownership.field`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.notPropagatingOwnershipToUnownedLocalAccessPathBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&m.codetoanalyze.java.checkers.Obj.g`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.ownInOneBranchBad(Obj,boolean), 5, THREAD_SAFETY_VIOLATION, ERROR, [access to `&formal.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignParamToUnownedBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.reassignParamToUnowned(Obj),access to `&o.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 2, THREAD_SAFETY_VIOLATION, ERROR, [access to `&formal.codetoanalyze.java.checkers.Obj.g`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.reassignToFormalBad(Obj), 3, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&formal.codetoanalyze.java.checkers.Obj.g`,,access to `&formal.codetoanalyze.java.checkers.Obj.g`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad1(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.writeToFormal(Obj),access to `&formal.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad2(), 2, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.writeToFormal(Obj),access to `&formal.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToNotOwnedInCalleeBad3(Obj), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void Ownership.callWriteToFormal(Obj),call to void Ownership.writeToFormal(Obj),access to `&formal.codetoanalyze.java.checkers.Obj.f`] +codetoanalyze/java/racerd/Ownership.java, void Ownership.writeToOwnedInCalleeOk2(), 4, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Ownership.field`,,access to `&this.codetoanalyze.java.checkers.Ownership.field`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional2_bad(boolean), 6, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditionalMainThreadWriteBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void RaceWithMainThread.conditionalMainThreadWrite2(boolean),access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.mOnlyWrittenOnMain`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_ElseBranch_Bad(), 7, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isMainThread_Negation_Bad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.conditional_isUiThread_ElseBranch_Bad(), 7, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.ff`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.confusedAssertBad(boolean), 7, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.mFld`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.readProtectedUnthreadedBad(), 3, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`,,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded1_Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f1`,,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f1`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.read_unprotected_unthreaded_Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`,,access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.f`] +codetoanalyze/java/racerd/RaceWithMainThread.java, void RaceWithMainThread.writeAfterConditionalMainThreadInCalleeBad(), 4, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.RaceWithMainThread.mSharedField`] +codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.callUnprotecteReadInCallee(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,call to Object ReadWriteRaces.unprotectedReadInCallee(),access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`] +codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead1(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field1`] +codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead2(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field2`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field2`] +codetoanalyze/java/racerd/ReadWriteRaces.java, Object ReadWriteRaces.unprotectedRead3(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field3`,,call to void ReadWriteRaces.syncWrite3(),access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.field3`] +codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m1(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`,,access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] +codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m2(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] +codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.m3(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ReadWriteRaces.racy`] +codetoanalyze/java/racerd/ReadWriteRaces.java, void ReadWriteRaces.readInCalleeOutsideSyncBad(int), 1, THREAD_SAFETY_VIOLATION, ERROR, [,call to int C.get(),access to `&this.codetoanalyze.java.checkers.C.x`,,call to void C.set(int),access to `&this.codetoanalyze.java.checkers.C.x`] +codetoanalyze/java/racerd/SubFld.java, int SubFld.getG(), 6, THREAD_SAFETY_VIOLATION, ERROR, [,call to int SuperFld.getG(),access to `&this.SuperFld.g`,,access to `&this.SuperFld.g`] +codetoanalyze/java/racerd/ThreadSafeExample.java, Object ThreadSafeExample.FP_lazyInitOk(), 6, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.sStaticField`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.newmethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ExtendsThreadSafeExample.tsOK(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ExtendsThreadSafeExample.field`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callPublicMethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.callVisibleForTestingBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.visibleForTestingNotPublicOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.deeperTraceBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.callAssignInPrivateMethod(),call to void ThreadSafeExample.assignInPrivateMethodOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.oddBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [call to void ThreadSafeExample.evenOk(),access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.recursiveBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void ThreadSafeExample.tsBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeExample.f`] +codetoanalyze/java/racerd/ThreadSafeExample.java, void YesThreadSafeExtendsNotThreadSafeExample.subsubmethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.YesThreadSafeExtendsNotThreadSafeExample.subsubfield`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod1Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethod2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.readSameFieldAsThreadSafeMethodWhileSynchronized1Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethods.threadSafeMethodReadBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, Object ThreadSafeMethodsSubclass.readThreadSafeFieldOfOverrideBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeMethodWriteBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafePrivateMethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field2`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.threadSafeVisibleForTestingMethodBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field3`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod1Bad(), 2, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field1`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethods.writeSameFieldAsThreadSafeMethod2Bad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethods.field4`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.safeMethodOverride(), 1, THREAD_SAFETY_VIOLATION, ERROR, [access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] +codetoanalyze/java/racerd/ThreadSafeMethods.java, void ThreadSafeMethodsSubclass.writeThreadSafeFieldOfOverrideBad(), 1, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`,,access to `&this.codetoanalyze.java.checkers.ThreadSafeMethodsSubclass.subclassField`] diff --git a/infer/tests/codetoanalyze/java/stability/issues.exp b/infer/tests/codetoanalyze/java/stability/issues.exp index 03e41ca19..40bdb9fd4 100644 --- a/infer/tests/codetoanalyze/java/stability/issues.exp +++ b/infer/tests/codetoanalyze/java/stability/issues.exp @@ -1,5 +1,5 @@ -codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Field.stable_bad(), 5, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,,access to `&this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] -codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param.stable_bad(Interprocedural$A), 5, THREAD_SAFETY_VIOLATION, [,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] -codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param2.stable_bad(Interprocedural$A), 6, THREAD_SAFETY_VIOLATION, [,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] -codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Field.stable_bad(), 5, THREAD_SAFETY_VIOLATION, [,access to `&this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,,access to `&this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`] -codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Param.stable_bad(Intraprocedural$A), 5, THREAD_SAFETY_VIOLATION, [,access to `&a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,,access to `&a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`] +codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Field.stable_bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,,access to `&this.codetoanalyze.java.checkers.Interprocedural$Field.a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] +codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param.stable_bad(Interprocedural$A), 5, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] +codetoanalyze/java/stability/Interprocedural.java, void Interprocedural$Param2.stable_bad(Interprocedural$A), 6, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`,,access to `&a.codetoanalyze.java.checkers.Interprocedural$A.f.codetoanalyze.java.checkers.Interprocedural$B.g`] +codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Field.stable_bad(), 5, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,,access to `&this.codetoanalyze.java.checkers.Intraprocedural$Field.a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`] +codetoanalyze/java/stability/Intraprocedural.java, void Intraprocedural$Param.stable_bad(Intraprocedural$A), 5, THREAD_SAFETY_VIOLATION, ERROR, [,access to `&a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`,,access to `&a.codetoanalyze.java.checkers.Intraprocedural$A.f.codetoanalyze.java.checkers.Intraprocedural$B.g`] diff --git a/infer/tests/codetoanalyze/java/tracing/issues.exp b/infer/tests/codetoanalyze/java/tracing/issues.exp index 8bee3444a..2e7305361 100644 --- a/infer/tests/codetoanalyze/java/tracing/issues.exp +++ b/infer/tests/codetoanalyze/java/tracing/issues.exp @@ -1,56 +1,56 @@ -codetoanalyze/java/infer/ArrayOutOfBounds.java, int ArrayOutOfBounds.arrayOutOfBounds(), 2, java.lang.ArrayIndexOutOfBoundsException, [start of procedure arrayOutOfBounds(),Taking true branch,exception java.lang.ArrayIndexOutOfBoundsException,return from a call to int ArrayOutOfBounds.arrayOutOfBounds()] -codetoanalyze/java/infer/ArrayOutOfBounds.java, void ArrayOutOfBounds.switchedArrsOutOfBounds(), 2, java.lang.ArrayIndexOutOfBoundsException, [start of procedure switchedArrsOutOfBounds(),start of procedure buggyIter(...),Taking true branch,Taking false branch,return from a call to void ArrayOutOfBounds.buggyIter(int[],int[]),return from a call to void ArrayOutOfBounds.switchedArrsOutOfBounds()] -codetoanalyze/java/infer/ClassCastExceptions.java, int ClassCastExceptions.classCastExceptionImplementsInterface(), 0, java.lang.ClassCastException, [start of procedure classCastExceptionImplementsInterface(),start of procedure AnotherImplementationOfInterface(),return from a call to AnotherImplementationOfInterface.(),start of procedure classCastExceptionImplementsInterfaceCallee(...),Skipping ClassCastException(): unknown method,exception java.lang.ClassCastException,return from a call to int ClassCastExceptions.classCastExceptionImplementsInterfaceCallee(AnotherImplementationOfInterface),exception java.lang.ClassCastException,return from a call to int ClassCastExceptions.classCastExceptionImplementsInterface()] -codetoanalyze/java/infer/ClassCastExceptions.java, void ClassCastExceptions.classCastException(), 3, java.lang.ClassCastException, [start of procedure classCastException(),start of procedure SubClassA(),start of procedure SuperClass(),return from a call to SuperClass.(),return from a call to SubClassA.(),Skipping ClassCastException(): unknown method,exception java.lang.ClassCastException,return from a call to void ClassCastExceptions.classCastException()] -codetoanalyze/java/infer/NullPointerExceptions.java, Object NullPointerExceptions.derefUndefinedCallee(), 3, java.lang.NullPointerException, [start of procedure derefUndefinedCallee(),start of procedure retUndefined(),Taking true branch,return from a call to Object NullPointerExceptions.retUndefined(),Taking true branch,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] -codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyArgument()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, java.lang.NullPointerException, [start of procedure nullListFiles(...),Skipping File(...): unknown method,Taking true branch,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullListFiles(String)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, java.lang.NullPointerException, [start of procedure nullPointerException(),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerException()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, java.lang.NullPointerException, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionInterProc()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, java.lang.NullPointerException, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, java.lang.NullPointerException, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithArray(), 3, java.lang.NullPointerException, [start of procedure nullPointerExceptionWithArray(),Taking true branch,Taking true branch,Taking true branch,Taking true branch,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithArray()] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, java.lang.NullPointerException, [start of procedure nullPointerExceptionWithExceptionHandling(...),Taking true branch,exception java.lang.Exception,Switch condition is true. Entering switch case,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.preconditionCheckStateTest(NullPointerExceptions$D), 1, PRECONDITION_NOT_MET, [start of procedure preconditionCheckStateTest(...),Taking false branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 3, java.lang.NullPointerException, [start of procedure npeWithDollars(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 2, NULL_DEREFERENCE, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject(),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 3, java.lang.NullPointerException, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.addNullToImmutableListBuilderBad()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 2, java.lang.NullPointerException, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Object NullPointerExceptions.getObj(),Taking true branch,return from a call to void NullPointerExceptions.badCheckShouldCauseNPE()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad(), 2, java.lang.NullPointerException, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable(),Taking true branch,return from a call to void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNonThisGetterAfterCheckShouldNotCauseNPE(), 5, java.lang.NullPointerException, [start of procedure derefNonThisGetterAfterCheckShouldNotCauseNPE(),start of procedure NullPointerExceptions(),return from a call to NullPointerExceptions.(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Object NullPointerExceptions.getObj(),Taking true branch,Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Object NullPointerExceptions.getObj(),Taking true branch,return from a call to void NullPointerExceptions.derefNonThisGetterAfterCheckShouldNotCauseNPE()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 3, java.lang.NullPointerException, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),Taking true branch,return from a call to Object NullPointerExceptions.retUndefined(),exception java.lang.NullPointerException,return from a call to Object NullPointerExceptions.derefUndefinedCallee(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.derefNull()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 2, java.lang.NullPointerException, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper(),Taking true branch,return from a call to void NullPointerExceptions.derefUndefNullableRetWrapper()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 3, java.lang.NullPointerException, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 3, java.lang.NullPointerException, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 5, java.lang.NullPointerException, [start of procedure dereferenceAfterUnlock1(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock1(Lock)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 5, java.lang.NullPointerException, [start of procedure dereferenceAfterUnlock1(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock1(Lock)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 7, java.lang.NullPointerException, [start of procedure dereferenceAfterUnlock2(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock2(Lock)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 7, java.lang.NullPointerException, [start of procedure dereferenceAfterUnlock2(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock2(Lock)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dontReportOnNullableIndirectReassignmentToUnknown(Object), 3, java.lang.NullPointerException, [start of procedure dontReportOnNullableIndirectReassignmentToUnknown(...),start of procedure callUnknownFunc(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.callUnknownFunc(),Taking true branch,return from a call to void NullPointerExceptions.dontReportOnNullableIndirectReassignmentToUnknown(Object)] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 3, java.lang.NullPointerException, [start of procedure nullPointerExceptionArrayLength(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionArrayLength()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 3, java.lang.NullPointerException, [start of procedure nullPointerExceptionCallArrayReadMethod(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 3, java.lang.NullPointerException, [start of procedure nullPointerExceptionCallArrayReadMethod(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 9, java.lang.NullPointerException, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),Taking true branch,return from a call to void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 8, java.lang.NullPointerException, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),Taking true branch,return from a call to void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 6, java.lang.NullPointerException, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Taking true branch,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),Taking true branch,return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch,exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 2, java.lang.NullPointerException, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.expectNotNullArrayParameter(codetoanalyze.java.infer.NullPointerExceptions$A[]),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 2, java.lang.NullPointerException, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.expectNotNullObjectParameter(NullPointerExceptions$A),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 3, java.lang.NullPointerException, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.someNPEAfterResourceLeak()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 11, java.lang.NullPointerException, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking true branch,Taking true branch,Taking true branch,return from a call to void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP()] -codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 3, java.lang.NullPointerException, [start of procedure testSystemGetPropertyReturn(),Taking true branch,return from a call to void NullPointerExceptions.testSystemGetPropertyReturn()] -codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.arrayIndexOutOfBoundsInCallee(), 3, java.lang.ArrayIndexOutOfBoundsException, [start of procedure arrayIndexOutOfBoundsInCallee(),start of procedure withFixedIndex(...),start of procedure callMethodFromArray(...),Taking true branch,Taking true branch,Taking false branch,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callMethodFromArray(codetoanalyze.java.tracing.T2[],int),return from a call to void ArrayIndexOutOfBoundsExceptionExample.withFixedIndex(codetoanalyze.java.tracing.T2[]),return from a call to void ArrayIndexOutOfBoundsExceptionExample.arrayIndexOutOfBoundsInCallee()] -codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound(), 3, java.lang.ArrayIndexOutOfBoundsException, [start of procedure callOutOfBound(),start of procedure callMethodFromArray(...),Taking true branch,exception java.lang.ArrayIndexOutOfBoundsException,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callMethodFromArray(codetoanalyze.java.tracing.T2[],int),exception java.lang.ArrayIndexOutOfBoundsException,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound()] -codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int), 6, java.lang.ArrayIndexOutOfBoundsException, [start of procedure missingCheckOnIndex(...),Taking false branch,return from a call to void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int)] -codetoanalyze/java/tracing/ClassCastExceptionExample.java, S ClassCastExceptionExample.bar(int), 4, java.lang.ClassCastException, [start of procedure bar(...),Taking false branch,return from a call to S ClassCastExceptionExample.bar(int)] -codetoanalyze/java/tracing/ClassCastExceptionExample.java, void ClassCastExceptionExample.foo(), 4, java.lang.ClassCastException, [start of procedure foo(),start of procedure T2(),return from a call to T2.(),start of procedure cast(...),exception java.lang.ClassCastException,return from a call to S ClassCastExceptionExample.cast(T2),exception java.lang.ClassCastException,return from a call to void ClassCastExceptionExample.foo()] -codetoanalyze/java/tracing/LazyDynamicDispatchExample.java, void LazyDynamicDispatchExample.callWithSubtype(), 3, java.lang.NullPointerException, [start of procedure callWithSubtype(),start of procedure B(),start of procedure A(),return from a call to A.(),return from a call to B.(),start of procedure fromSupertype(...),Taking true branch,start of procedure get(),return from a call to T2 B.get(),return from a call to T2 LazyDynamicDispatchExample.fromSupertype(B),exception java.lang.NullPointerException,return from a call to void LazyDynamicDispatchExample.callWithSubtype()] -codetoanalyze/java/tracing/LazyDynamicDispatchExample.java, void LazyDynamicDispatchExample.shouldReportLocalVarTypeIsKnown(), 3, java.lang.NullPointerException, [start of procedure shouldReportLocalVarTypeIsKnown(),start of procedure B(),start of procedure A(),return from a call to A.(),return from a call to B.(),start of procedure fromInterface(...),Taking true branch,start of procedure get(),return from a call to T2 B.get(),return from a call to T2 LazyDynamicDispatchExample.fromInterface(B),exception java.lang.NullPointerException,return from a call to void LazyDynamicDispatchExample.shouldReportLocalVarTypeIsKnown()] -codetoanalyze/java/tracing/LocallyDefinedExceptionExample.java, void LocallyDefinedExceptionExample.fieldInvariant(), 8, codetoanalyze.java.tracing.LocallyDefinedException, [start of procedure fieldInvariant(),Taking false branch,return from a call to void LocallyDefinedExceptionExample.fieldInvariant()] -codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.callDeref(T2,boolean), 4, java.lang.NullPointerException, [start of procedure callDeref(...),Taking false branch,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean)] -codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.callLeadToNpe(), 2, java.lang.NullPointerException, [start of procedure callLeadToNpe(),start of procedure callDeref(...),Taking true branch,start of procedure deref(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.deref(T2),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callLeadToNpe()] -codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.npeOnBothBranches(int), 6, java.lang.NullPointerException, [start of procedure npeOnBothBranches(...),Taking true branch,Taking true branch,Taking true branch,start of procedure callDeref(...),Taking true branch,start of procedure deref(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.deref(T2),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.npeOnBothBranches(int)] -codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.npeOnBothBranches(int), 6, java.lang.NullPointerException, [start of procedure npeOnBothBranches(...),Taking true branch,Taking true branch,Taking true branch,start of procedure callDeref(...),Taking true branch,start of procedure deref(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.deref(T2),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.npeOnBothBranches(int)] -codetoanalyze/java/tracing/ReportOnMainExample.java, void ReportOnMainExample.main(java.lang.String[]), 3, java.lang.NullPointerException, [start of procedure main(...),start of procedure ReportOnMainExample(),return from a call to ReportOnMainExample.(),Taking true branch,start of procedure foo(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,Taking true branch,return from a call to void ReportOnMainExample.foo(),return from a call to void ReportOnMainExample.main(java.lang.String[])] -codetoanalyze/java/tracing/UnavoidableExceptionExample.java, void UnavoidableExceptionExample.cannotAvoidNPE(), 3, java.lang.NullPointerException, [start of procedure cannotAvoidNPE(),start of procedure create(),return from a call to T2 UnavoidableExceptionExample.create(),exception java.lang.NullPointerException,return from a call to void UnavoidableExceptionExample.cannotAvoidNPE()] -codetoanalyze/java/tracing/UnavoidableExceptionExample.java, void UnavoidableExceptionExample.unavoidableNPEWithParameter(boolean), 3, java.lang.NullPointerException, [start of procedure unavoidableNPEWithParameter(...),start of procedure create(),return from a call to T2 UnavoidableExceptionExample.create(),exception java.lang.NullPointerException,return from a call to void UnavoidableExceptionExample.unavoidableNPEWithParameter(boolean)] -codetoanalyze/java/tracing/UnavoidableExceptionExample.java, void UnavoidableExceptionExample.virtualMethodWithUnavoidableNPE(boolean), 3, java.lang.NullPointerException, [start of procedure virtualMethodWithUnavoidableNPE(...),start of procedure create(),return from a call to T2 UnavoidableExceptionExample.create(),exception java.lang.NullPointerException,return from a call to void UnavoidableExceptionExample.virtualMethodWithUnavoidableNPE(boolean)] +codetoanalyze/java/infer/ArrayOutOfBounds.java, int ArrayOutOfBounds.arrayOutOfBounds(), 2, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure arrayOutOfBounds(),Taking true branch,exception java.lang.ArrayIndexOutOfBoundsException,return from a call to int ArrayOutOfBounds.arrayOutOfBounds()] +codetoanalyze/java/infer/ArrayOutOfBounds.java, void ArrayOutOfBounds.switchedArrsOutOfBounds(), 2, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure switchedArrsOutOfBounds(),start of procedure buggyIter(...),Taking true branch,Taking false branch,return from a call to void ArrayOutOfBounds.buggyIter(int[],int[]),return from a call to void ArrayOutOfBounds.switchedArrsOutOfBounds()] +codetoanalyze/java/infer/ClassCastExceptions.java, int ClassCastExceptions.classCastExceptionImplementsInterface(), 0, java.lang.ClassCastException, ERROR, [start of procedure classCastExceptionImplementsInterface(),start of procedure AnotherImplementationOfInterface(),return from a call to AnotherImplementationOfInterface.(),start of procedure classCastExceptionImplementsInterfaceCallee(...),Skipping ClassCastException(): unknown method,exception java.lang.ClassCastException,return from a call to int ClassCastExceptions.classCastExceptionImplementsInterfaceCallee(AnotherImplementationOfInterface),exception java.lang.ClassCastException,return from a call to int ClassCastExceptions.classCastExceptionImplementsInterface()] +codetoanalyze/java/infer/ClassCastExceptions.java, void ClassCastExceptions.classCastException(), 3, java.lang.ClassCastException, ERROR, [start of procedure classCastException(),start of procedure SubClassA(),start of procedure SuperClass(),return from a call to SuperClass.(),return from a call to SubClassA.(),Skipping ClassCastException(): unknown method,exception java.lang.ClassCastException,return from a call to void ClassCastExceptions.classCastException()] +codetoanalyze/java/infer/NullPointerExceptions.java, Object NullPointerExceptions.derefUndefinedCallee(), 3, java.lang.NullPointerException, ERROR, [start of procedure derefUndefinedCallee(),start of procedure retUndefined(),Taking true branch,return from a call to Object NullPointerExceptions.retUndefined(),Taking true branch,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] +codetoanalyze/java/infer/NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, ERROR, [start of procedure testSystemGetPropertyArgument()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, java.lang.NullPointerException, ERROR, [start of procedure nullListFiles(...),Skipping File(...): unknown method,Taking true branch,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullListFiles(String)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, java.lang.NullPointerException, ERROR, [start of procedure nullPointerException(),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerException()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionInterProc()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions),exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithArray(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionWithArray(),Taking true branch,Taking true branch,Taking true branch,Taking true branch,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithArray()] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionWithExceptionHandling(...),Taking true branch,exception java.lang.Exception,Switch condition is true. Entering switch case,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)] +codetoanalyze/java/infer/NullPointerExceptions.java, int NullPointerExceptions.preconditionCheckStateTest(NullPointerExceptions$D), 1, PRECONDITION_NOT_MET, WARNING, [start of procedure preconditionCheckStateTest(...),Taking false branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 3, java.lang.NullPointerException, ERROR, [start of procedure npeWithDollars(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 2, NULL_DEREFERENCE, ERROR, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject(),Taking true branch] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.addNullToImmutableListBuilderBad(), 3, java.lang.NullPointerException, ERROR, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.addNullToImmutableListBuilderBad()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 2, java.lang.NullPointerException, ERROR, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Object NullPointerExceptions.getObj(),Taking true branch,return from a call to void NullPointerExceptions.badCheckShouldCauseNPE()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad(), 2, java.lang.NullPointerException, ERROR, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable(),Taking true branch,return from a call to void NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNonThisGetterAfterCheckShouldNotCauseNPE(), 5, java.lang.NullPointerException, ERROR, [start of procedure derefNonThisGetterAfterCheckShouldNotCauseNPE(),start of procedure NullPointerExceptions(),return from a call to NullPointerExceptions.(),Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Object NullPointerExceptions.getObj(),Taking true branch,Taking true branch,start of procedure getObj(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,return from a call to Object NullPointerExceptions.getObj(),Taking true branch,return from a call to void NullPointerExceptions.derefNonThisGetterAfterCheckShouldNotCauseNPE()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 3, java.lang.NullPointerException, ERROR, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),Taking true branch,return from a call to Object NullPointerExceptions.retUndefined(),exception java.lang.NullPointerException,return from a call to Object NullPointerExceptions.derefUndefinedCallee(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.derefNull()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 2, java.lang.NullPointerException, ERROR, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): method has no implementation,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper(),Taking true branch,return from a call to void NullPointerExceptions.derefUndefNullableRetWrapper()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 3, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 3, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 5, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterUnlock1(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock1(Lock)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 5, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterUnlock1(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock1(Lock)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 7, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterUnlock2(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock2(Lock)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 7, java.lang.NullPointerException, ERROR, [start of procedure dereferenceAfterUnlock2(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.dereferenceAfterUnlock2(Lock)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.dontReportOnNullableIndirectReassignmentToUnknown(Object), 3, java.lang.NullPointerException, ERROR, [start of procedure dontReportOnNullableIndirectReassignmentToUnknown(...),start of procedure callUnknownFunc(),Skipping unknownFunc(): method has no implementation,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.callUnknownFunc(),Taking true branch,return from a call to void NullPointerExceptions.dontReportOnNullableIndirectReassignmentToUnknown(Object)] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionArrayLength(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionArrayLength()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 3, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 9, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),Taking true branch,return from a call to void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 8, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),Taking true branch,return from a call to void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 6, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Taking true branch,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),Taking true branch,return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch,exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 2, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.expectNotNullArrayParameter(codetoanalyze.java.infer.NullPointerExceptions$A[]),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 2, java.lang.NullPointerException, ERROR, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.expectNotNullObjectParameter(NullPointerExceptions$A),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 3, java.lang.NullPointerException, ERROR, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak(),exception java.lang.NullPointerException,return from a call to void NullPointerExceptions.someNPEAfterResourceLeak()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 11, java.lang.NullPointerException, ERROR, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking true branch,Taking true branch,Taking true branch,return from a call to void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP()] +codetoanalyze/java/infer/NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 3, java.lang.NullPointerException, ERROR, [start of procedure testSystemGetPropertyReturn(),Taking true branch,return from a call to void NullPointerExceptions.testSystemGetPropertyReturn()] +codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.arrayIndexOutOfBoundsInCallee(), 3, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure arrayIndexOutOfBoundsInCallee(),start of procedure withFixedIndex(...),start of procedure callMethodFromArray(...),Taking true branch,Taking true branch,Taking false branch,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callMethodFromArray(codetoanalyze.java.tracing.T2[],int),return from a call to void ArrayIndexOutOfBoundsExceptionExample.withFixedIndex(codetoanalyze.java.tracing.T2[]),return from a call to void ArrayIndexOutOfBoundsExceptionExample.arrayIndexOutOfBoundsInCallee()] +codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound(), 3, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure callOutOfBound(),start of procedure callMethodFromArray(...),Taking true branch,exception java.lang.ArrayIndexOutOfBoundsException,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callMethodFromArray(codetoanalyze.java.tracing.T2[],int),exception java.lang.ArrayIndexOutOfBoundsException,return from a call to void ArrayIndexOutOfBoundsExceptionExample.callOutOfBound()] +codetoanalyze/java/tracing/ArrayIndexOutOfBoundsExceptionExample.java, void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int), 6, java.lang.ArrayIndexOutOfBoundsException, ERROR, [start of procedure missingCheckOnIndex(...),Taking false branch,return from a call to void ArrayIndexOutOfBoundsExceptionExample.missingCheckOnIndex(codetoanalyze.java.tracing.T2[],int)] +codetoanalyze/java/tracing/ClassCastExceptionExample.java, S ClassCastExceptionExample.bar(int), 4, java.lang.ClassCastException, ERROR, [start of procedure bar(...),Taking false branch,return from a call to S ClassCastExceptionExample.bar(int)] +codetoanalyze/java/tracing/ClassCastExceptionExample.java, void ClassCastExceptionExample.foo(), 4, java.lang.ClassCastException, ERROR, [start of procedure foo(),start of procedure T2(),return from a call to T2.(),start of procedure cast(...),exception java.lang.ClassCastException,return from a call to S ClassCastExceptionExample.cast(T2),exception java.lang.ClassCastException,return from a call to void ClassCastExceptionExample.foo()] +codetoanalyze/java/tracing/LazyDynamicDispatchExample.java, void LazyDynamicDispatchExample.callWithSubtype(), 3, java.lang.NullPointerException, ERROR, [start of procedure callWithSubtype(),start of procedure B(),start of procedure A(),return from a call to A.(),return from a call to B.(),start of procedure fromSupertype(...),Taking true branch,start of procedure get(),return from a call to T2 B.get(),return from a call to T2 LazyDynamicDispatchExample.fromSupertype(B),exception java.lang.NullPointerException,return from a call to void LazyDynamicDispatchExample.callWithSubtype()] +codetoanalyze/java/tracing/LazyDynamicDispatchExample.java, void LazyDynamicDispatchExample.shouldReportLocalVarTypeIsKnown(), 3, java.lang.NullPointerException, ERROR, [start of procedure shouldReportLocalVarTypeIsKnown(),start of procedure B(),start of procedure A(),return from a call to A.(),return from a call to B.(),start of procedure fromInterface(...),Taking true branch,start of procedure get(),return from a call to T2 B.get(),return from a call to T2 LazyDynamicDispatchExample.fromInterface(B),exception java.lang.NullPointerException,return from a call to void LazyDynamicDispatchExample.shouldReportLocalVarTypeIsKnown()] +codetoanalyze/java/tracing/LocallyDefinedExceptionExample.java, void LocallyDefinedExceptionExample.fieldInvariant(), 8, codetoanalyze.java.tracing.LocallyDefinedException, ERROR, [start of procedure fieldInvariant(),Taking false branch,return from a call to void LocallyDefinedExceptionExample.fieldInvariant()] +codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.callDeref(T2,boolean), 4, java.lang.NullPointerException, ERROR, [start of procedure callDeref(...),Taking false branch,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean)] +codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.callLeadToNpe(), 2, java.lang.NullPointerException, ERROR, [start of procedure callLeadToNpe(),start of procedure callDeref(...),Taking true branch,start of procedure deref(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.deref(T2),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callLeadToNpe()] +codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.npeOnBothBranches(int), 6, java.lang.NullPointerException, ERROR, [start of procedure npeOnBothBranches(...),Taking true branch,Taking true branch,Taking true branch,start of procedure callDeref(...),Taking true branch,start of procedure deref(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.deref(T2),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.npeOnBothBranches(int)] +codetoanalyze/java/tracing/NullPointerExceptionExample.java, void NullPointerExceptionExample.npeOnBothBranches(int), 6, java.lang.NullPointerException, ERROR, [start of procedure npeOnBothBranches(...),Taking true branch,Taking true branch,Taking true branch,start of procedure callDeref(...),Taking true branch,start of procedure deref(...),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.deref(T2),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.callDeref(T2,boolean),exception java.lang.NullPointerException,return from a call to void NullPointerExceptionExample.npeOnBothBranches(int)] +codetoanalyze/java/tracing/ReportOnMainExample.java, void ReportOnMainExample.main(java.lang.String[]), 3, java.lang.NullPointerException, ERROR, [start of procedure main(...),start of procedure ReportOnMainExample(),return from a call to ReportOnMainExample.(),Taking true branch,start of procedure foo(),Skipping test(): method has no implementation,Definition of test(),Taking true branch,Taking true branch,return from a call to void ReportOnMainExample.foo(),return from a call to void ReportOnMainExample.main(java.lang.String[])] +codetoanalyze/java/tracing/UnavoidableExceptionExample.java, void UnavoidableExceptionExample.cannotAvoidNPE(), 3, java.lang.NullPointerException, ERROR, [start of procedure cannotAvoidNPE(),start of procedure create(),return from a call to T2 UnavoidableExceptionExample.create(),exception java.lang.NullPointerException,return from a call to void UnavoidableExceptionExample.cannotAvoidNPE()] +codetoanalyze/java/tracing/UnavoidableExceptionExample.java, void UnavoidableExceptionExample.unavoidableNPEWithParameter(boolean), 3, java.lang.NullPointerException, ERROR, [start of procedure unavoidableNPEWithParameter(...),start of procedure create(),return from a call to T2 UnavoidableExceptionExample.create(),exception java.lang.NullPointerException,return from a call to void UnavoidableExceptionExample.unavoidableNPEWithParameter(boolean)] +codetoanalyze/java/tracing/UnavoidableExceptionExample.java, void UnavoidableExceptionExample.virtualMethodWithUnavoidableNPE(boolean), 3, java.lang.NullPointerException, ERROR, [start of procedure virtualMethodWithUnavoidableNPE(...),start of procedure create(),return from a call to T2 UnavoidableExceptionExample.create(),exception java.lang.NullPointerException,return from a call to void UnavoidableExceptionExample.virtualMethodWithUnavoidableNPE(boolean)] diff --git a/infer/tests/codetoanalyze/objc/errors/issues.exp b/infer/tests/codetoanalyze/objc/errors/issues.exp index 58a1b0867..0b5217562 100644 --- a/infer/tests/codetoanalyze/objc/errors/issues.exp +++ b/infer/tests/codetoanalyze/objc/errors/issues.exp @@ -1,102 +1,102 @@ -codetoanalyze/objc/errors/field_superclass/field.c, field_superclass_main, 3, RETAIN_CYCLE, [start of procedure field_superclass_main()] -codetoanalyze/objc/errors/global_const/global_const.m, SimpleRoot_doSomethingBadWithDict:andString:, 3, NULL_DEREFERENCE, [start of procedure doSomethingBadWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] -codetoanalyze/objc/errors/global_const/global_const.m, SimpleRoot_doSomethingOkWithDict:andString:, 3, NULL_DEREFERENCE, [start of procedure doSomethingOkWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] -codetoanalyze/objc/errors/initialization/compound_literal.c, init_with_compound_literal, 2, DIVIDE_BY_ZERO, [start of procedure init_with_compound_literal()] -codetoanalyze/objc/errors/memory_leaks_benchmark/CADisplayLinkRetainCycle.m, testCycle, 3, RETAIN_CYCLE, [start of procedure testCycle(),start of procedure init,return from a call to CADisplay_init] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSVycleStaticVar, 2, RETAIN_CYCLE, [start of procedure RetainCSVycleStaticVar(),start of procedure init,return from a call to RetainCSV_init,start of procedure foo,return from a call to RetainCSV_foo] -codetoanalyze/objc/errors/npe/null_returned_by_method.m, NullReturnedByMethodA_test1, 1, NULL_DEREFERENCE, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA_test] -codetoanalyze/objc/errors/procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, [start of procedure ProcdescMain(),Skipping plusX:andY:: function or method not found] -codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 3, MEMORY_LEAK, [start of procedure call_nslog(),Skipping NSLog(): function or method not found] -codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main(),Skipping aProperty: function or method not found] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, NULL_DEREFERENCE, [start of procedure FBAudioInputCallbackChain:,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackField, 2, NULL_DEREFERENCE, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_init, 2, NULL_DEREFERENCE, [start of procedure init] -codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, NULL_DEREFERENCE, [start of procedure test,Message recordState with receiver nil returns nil.] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_blockPostBad, 5, NULL_DEREFERENCE, [start of procedure blockPostBad,start of procedure block,return from a call to objc_blockBlockVar_blockPostBad_2] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, NULL_DEREFERENCE, [start of procedure capturedNullDeref,start of procedure block] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, NULL_DEREFERENCE, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar_test,return from a call to objc_blockBlockVar_navigateToURLInBackground_1,Condition is true] -codetoanalyze/objc/shared/block/block.m, main1, 31, DIVIDE_BY_ZERO, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to objc_blockobjc_blockmain1_2_3,return from a call to objc_blockmain1_2,start of procedure block,return from a call to objc_blockmain1_1] -codetoanalyze/objc/shared/block/block_no_args.m, My_manager_m, 10, NULL_DEREFERENCE, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager_m_1,Condition is true] -codetoanalyze/objc/shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, [start of procedure CategoryProcdescMain(),Skipping performDaysWork: function or method not found] -codetoanalyze/objc/shared/field_superclass/SuperExample.m, ASuper_init, 2, NULL_DEREFERENCE, [start of procedure init,start of procedure init,return from a call to BSuper_init] -codetoanalyze/objc/errors/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,return from a call to BlockInHeap_assign_block_to_ivar,start of procedure block,return from a call to objc_blockBlockInHeap_assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Condition is true] -codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is false] -codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is true] -codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure setAge:,return from a call to Person_setAge:,start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure getAge,return from a call to Person_getAge,return from a call to testFields] -codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, field_set_correctly, 2, DIVIDE_BY_ZERO, [start of procedure field_set_correctly()] -codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, implicit_expr_set_correctly, 3, DIVIDE_BY_ZERO, [start of procedure implicit_expr_set_correctly()] -codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, point_coords_set_correctly, 2, DIVIDE_BY_ZERO, [start of procedure point_coords_set_correctly()] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, call_retain_self_in_block_cycle, 2, RETAIN_CYCLE, [start of procedure call_retain_self_in_block_cycle(),start of procedure retain_self_in_block,return from a call to RCBlock_retain_self_in_block] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, retain_a_in_block_cycle, 5, RETAIN_CYCLE, [start of procedure retain_a_in_block_cycle()] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, retain_a_in_block_cycle, 5, RETAIN_CYCLE, [start of procedure retain_a_in_block_cycle()] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCyclePropertyInProtocol.m, main_bad, 2, RETAIN_CYCLE, [start of procedure main_bad(),start of procedure loadViewBad,return from a call to MyCustomViewController_loadViewBad] -codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, [start of procedure strongcycle()] -codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent_init,start of procedure init,return from a call to Child_init,start of procedure setChild:,return from a call to Parent_setChild:,start of procedure setParent:,return from a call to Child_setParent:] -codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, [start of procedure add_nil_in_dict(),Skipping dictionaryWithObjectsAndKeys:: function or method not found] -codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, [start of procedure add_nil_to_array()] -codetoanalyze/objc/errors/npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, [start of procedure insert_nil_in_array()] -codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true,Condition is true] -codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true,Condition is true] -codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true,Condition is true] -codetoanalyze/objc/errors/npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, [start of procedure update_array_with_null()] -codetoanalyze/objc/errors/npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, [start of procedure update_dict_with_key_null(),Skipping dictionaryWithObjectsAndKeys:: function or method not found] -codetoanalyze/objc/errors/npe/WeakCapturedVarsNPE.m, objc_blockWeakCapturedA_strongSelfNoCheck_2, 2, NULL_DEREFERENCE, [start of procedure block] -codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral0, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral0] -codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral1, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral1] -codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral2, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral2] -codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral3, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral3] -codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayWithObject, 4, NULL_DEREFERENCE, [start of procedure nilInArrayWithObject] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey0] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey1] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey2] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey3] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue0] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue1] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue2] -codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue3] -codetoanalyze/objc/errors/npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA_name,Condition is true] -codetoanalyze/objc/errors/npe/npe_self.m, CSelf_init, 2, NULL_DEREFERENCE, [start of procedure init] -codetoanalyze/objc/errors/npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, [start of procedure test,Condition is false] -codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, [start of procedure derefNullableParamDirect()] -codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, [start of procedure derefNullableParamIndirect()] -codetoanalyze/objc/errors/npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, [start of procedure parameter_nullable_bug()] -codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, [start of procedure testDefaultName,Skipping setY:: function or method not found,Condition is true] -codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, [start of procedure testExplicit,Condition is true] -codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base_init,start of procedure returnsZero1:,Condition is true,return from a call to Base_returnsZero1:] -codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base_init,start of procedure returnsZero2(),Condition is false,return from a call to returnsZero2] -codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived_init,Condition is true] -codetoanalyze/objc/errors/variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, [start of procedure nilInArrayWithObjects] -codetoanalyze/objc/errors/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample_cvpixelbuffer_not_released_leak, 1, MEMORY_LEAK, [start of procedure cvpixelbuffer_not_released_leak] -codetoanalyze/objc/errors/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests_macForIV:, 2, MEMORY_LEAK, [start of procedure macForIV:] -codetoanalyze/objc/errors/memory_leaks_benchmark/NSString_models_tests.m, StringInitA_hexStringValue, 11, MEMORY_LEAK, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): function or method not found,Condition is false] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleLength3.m, strongcycle, 6, RETAIN_CYCLE, [start of procedure strongcycle()] -codetoanalyze/objc/errors/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction_setNumerator:,start of procedure getNumerator,return from a call to Fraction_getNumerator,Condition is true] -codetoanalyze/objc/errors/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA_meth] -codetoanalyze/objc/errors/npe/block.m, BlockA_doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure doSomethingThenCallback:] -codetoanalyze/objc/errors/npe/block.m, BlockA_foo, 5, NULL_DEREFERENCE, [start of procedure foo] -codetoanalyze/objc/errors/npe/block.m, BlockA_foo3:, 3, NULL_DEREFERENCE, [start of procedure foo3:] -codetoanalyze/objc/errors/npe/block.m, BlockA_foo4:, 6, NULL_DEREFERENCE, [start of procedure foo4:] -codetoanalyze/objc/errors/npe/block.m, BlockA_foo7, 2, IVAR_NOT_NULL_CHECKED, [start of procedure foo7] -codetoanalyze/objc/errors/npe/ivar_blocks.m, MyClass_ivar_npe, 1, IVAR_NOT_NULL_CHECKED, [start of procedure ivar_npe] -codetoanalyze/objc/errors/npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, PARAMETER_NOT_NULL_CHECKED, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Condition is false] -codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main(),Skipping aProperty: function or method not found] -codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, ProcessContentsOfFile, 35, RESOURCE_LEAK, [start of procedure ProcessContentsOfFile(),Condition is false,Skipping dispatch_get_global_queue(): function or method not found,Skipping dispatch_source_create(): function or method not found,Condition is false] -codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 6, MEMORY_LEAK, [start of procedure block,Skipping dispatch_source_get_data(): function or method not found,Condition is true,Skipping MyProcessFileData(): function or method not found] -codetoanalyze/objc/errors/resource_leaks/ResourceLeakExample.m, NSFileHandle_fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, [start of procedure fileHandleForLoggingAtPath:mode:,Condition is true,Skipping fileSystemRepresentation: function or method not found,Condition is false,Condition is true,Skipping autorelease: function or method not found] -codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A_test1:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure test1:,Message child with receiver nil returns nil.] -codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A_test3:, 1, PARAMETER_NOT_NULL_CHECKED, [start of procedure test3:] -codetoanalyze/objc/shared/annotations/nullable_annotations.m, User_otherUserName, 2, NULL_DEREFERENCE, [start of procedure otherUserName,Skipping otherUser: function or method not found] -codetoanalyze/objc/shared/annotations/nullable_annotations.m, npe_property_nullable, 3, NULL_DEREFERENCE, [start of procedure npe_property_nullable(),Skipping child: function or method not found] -codetoanalyze/objc/shared/annotations/nullable_annotations_fields.m, A_nullable_field, 3, NULL_DEREFERENCE, [start of procedure nullable_field,Skipping getA(): function or method not found] -codetoanalyze/objc/shared/block/dispatch.m, DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,Skipping _dispatch_once(): function or method not found,return from a call to DispatchA_dispatch_a_block_variable_from_macro] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockCapturedVarLeak, 6, MEMORY_LEAK, [start of procedure blockCapturedVarLeak,start of procedure block,return from a call to objc_blockMemoryLeakExample_blockCapturedVarLeak_1] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyph:, 2, MEMORY_LEAK, [start of procedure createCloseCrossGlyph:,Skipping CGRectGetHeight(): function or method not found] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForText, 1, MEMORY_LEAK, [start of procedure measureFrameSizeForText] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_regularLeak, 3, MEMORY_LEAK, [start of procedure regularLeak] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test, 3, MEMORY_LEAK, [start of procedure test,Skipping bounds: function or method not found,Skipping setShadowPath:: function or method not found] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test1:, 1, MEMORY_LEAK, [start of procedure test1:] -codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test2:, 1, MEMORY_LEAK, [start of procedure test2:] -codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr_test_no_bug, 3, NULL_DEREFERENCE, [start of procedure test_no_bug,Condition is true] +codetoanalyze/objc/errors/field_superclass/field.c, field_superclass_main, 3, RETAIN_CYCLE, ERROR, [start of procedure field_superclass_main()] +codetoanalyze/objc/errors/global_const/global_const.m, SimpleRoot_doSomethingBadWithDict:andString:, 3, NULL_DEREFERENCE, ERROR, [start of procedure doSomethingBadWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] +codetoanalyze/objc/errors/global_const/global_const.m, SimpleRoot_doSomethingOkWithDict:andString:, 3, NULL_DEREFERENCE, ERROR, [start of procedure doSomethingOkWithDict:andString:,Message stringByAppendingString: with receiver nil returns nil.] +codetoanalyze/objc/errors/initialization/compound_literal.c, init_with_compound_literal, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure init_with_compound_literal()] +codetoanalyze/objc/errors/memory_leaks_benchmark/CADisplayLinkRetainCycle.m, testCycle, 3, RETAIN_CYCLE, ERROR, [start of procedure testCycle(),start of procedure init,return from a call to CADisplay_init] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSVycleStaticVar, 2, RETAIN_CYCLE, ERROR, [start of procedure RetainCSVycleStaticVar(),start of procedure init,return from a call to RetainCSV_init,start of procedure foo,return from a call to RetainCSV_foo] +codetoanalyze/objc/errors/npe/null_returned_by_method.m, NullReturnedByMethodA_test1, 1, NULL_DEREFERENCE, ERROR, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA_test] +codetoanalyze/objc/errors/procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, ERROR, [start of procedure ProcdescMain(),Skipping plusX:andY:: function or method not found] +codetoanalyze/objc/errors/procdescs/main.c, call_nslog, 3, MEMORY_LEAK, ERROR, [start of procedure call_nslog(),Skipping NSLog(): function or method not found] +codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, ERROR, [start of procedure property_main(),Skipping aProperty: function or method not found] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, NULL_DEREFERENCE, ERROR, [start of procedure FBAudioInputCallbackChain:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChain:, 2, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure FBAudioInputCallbackChain:,Message recorder with receiver nil returns nil. Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackField, 2, NULL_DEREFERENCE, ERROR, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_init, 2, NULL_DEREFERENCE, ERROR, [start of procedure init] +codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure test,Message recordState with receiver nil returns nil.] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_blockPostBad, 5, NULL_DEREFERENCE, ERROR, [start of procedure blockPostBad,start of procedure block,return from a call to objc_blockBlockVar_blockPostBad_2] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, NULL_DEREFERENCE, ERROR, [start of procedure capturedNullDeref,start of procedure block] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, NULL_DEREFERENCE, ERROR, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar_test,return from a call to objc_blockBlockVar_navigateToURLInBackground_1,Condition is true] +codetoanalyze/objc/shared/block/block.m, main1, 31, DIVIDE_BY_ZERO, ERROR, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to objc_blockobjc_blockmain1_2_3,return from a call to objc_blockmain1_2,start of procedure block,return from a call to objc_blockmain1_1] +codetoanalyze/objc/shared/block/block_no_args.m, My_manager_m, 10, NULL_DEREFERENCE, ERROR, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager_m_1,Condition is true] +codetoanalyze/objc/shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, ERROR, [start of procedure CategoryProcdescMain(),Skipping performDaysWork: function or method not found] +codetoanalyze/objc/shared/field_superclass/SuperExample.m, ASuper_init, 2, NULL_DEREFERENCE, ERROR, [start of procedure init,start of procedure init,return from a call to BSuper_init] +codetoanalyze/objc/errors/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,return from a call to BlockInHeap_assign_block_to_ivar,start of procedure block,return from a call to objc_blockBlockInHeap_assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Condition is true] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is false] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is true] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure setAge:,return from a call to Person_setAge:,start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure getAge,return from a call to Person_getAge,return from a call to testFields] +codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, field_set_correctly, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure field_set_correctly()] +codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, implicit_expr_set_correctly, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure implicit_expr_set_correctly()] +codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, point_coords_set_correctly, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure point_coords_set_correctly()] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, call_retain_self_in_block_cycle, 2, RETAIN_CYCLE, ERROR, [start of procedure call_retain_self_in_block_cycle(),start of procedure retain_self_in_block,return from a call to RCBlock_retain_self_in_block] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, retain_a_in_block_cycle, 5, RETAIN_CYCLE, ERROR, [start of procedure retain_a_in_block_cycle()] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, retain_a_in_block_cycle, 5, RETAIN_CYCLE, ERROR, [start of procedure retain_a_in_block_cycle()] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCyclePropertyInProtocol.m, main_bad, 2, RETAIN_CYCLE, ERROR, [start of procedure main_bad(),start of procedure loadViewBad,return from a call to MyCustomViewController_loadViewBad] +codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, ERROR, [start of procedure strongcycle()] +codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, ERROR, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent_init,start of procedure init,return from a call to Child_init,start of procedure setChild:,return from a call to Parent_setChild:,start of procedure setParent:,return from a call to Child_setParent:] +codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, ERROR, [start of procedure add_nil_in_dict(),Skipping dictionaryWithObjectsAndKeys:: function or method not found] +codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, ERROR, [start of procedure add_nil_to_array()] +codetoanalyze/objc/errors/npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, ERROR, [start of procedure insert_nil_in_array()] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, ERROR, [start of procedure update_array_with_null()] +codetoanalyze/objc/errors/npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, ERROR, [start of procedure update_dict_with_key_null(),Skipping dictionaryWithObjectsAndKeys:: function or method not found] +codetoanalyze/objc/errors/npe/WeakCapturedVarsNPE.m, objc_blockWeakCapturedA_strongSelfNoCheck_2, 2, NULL_DEREFERENCE, ERROR, [start of procedure block] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral0, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInArrayLiteral0] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral1, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInArrayLiteral1] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral2, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInArrayLiteral2] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayLiteral3, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInArrayLiteral3] +codetoanalyze/objc/errors/npe/nil_in_array_literal.m, Arr_nilInArrayWithObject, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInArrayWithObject] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralKey0] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralKey1] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey2, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralKey2] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey3, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralKey3] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralValue0] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralValue1] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralValue2] +codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralValue3] +codetoanalyze/objc/errors/npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, ERROR, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA_name,Condition is true] +codetoanalyze/objc/errors/npe/npe_self.m, CSelf_init, 2, NULL_DEREFERENCE, ERROR, [start of procedure init] +codetoanalyze/objc/errors/npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure test,Condition is false] +codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableParamDirect()] +codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableParamIndirect()] +codetoanalyze/objc/errors/npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, ERROR, [start of procedure parameter_nullable_bug()] +codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, ERROR, [start of procedure testDefaultName,Skipping setY:: function or method not found,Condition is true] +codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, ERROR, [start of procedure testExplicit,Condition is true] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base_init,start of procedure returnsZero1:,Condition is true,return from a call to Base_returnsZero1:] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base_init,start of procedure returnsZero2(),Condition is false,return from a call to returnsZero2] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived_init,Condition is true] +codetoanalyze/objc/errors/variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, ERROR, [start of procedure nilInArrayWithObjects] +codetoanalyze/objc/errors/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample_cvpixelbuffer_not_released_leak, 1, MEMORY_LEAK, ERROR, [start of procedure cvpixelbuffer_not_released_leak] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests_macForIV:, 2, MEMORY_LEAK, ERROR, [start of procedure macForIV:] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSString_models_tests.m, StringInitA_hexStringValue, 11, MEMORY_LEAK, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): function or method not found,Condition is false] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleLength3.m, strongcycle, 6, RETAIN_CYCLE, ERROR, [start of procedure strongcycle()] +codetoanalyze/objc/errors/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, ERROR, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction_setNumerator:,start of procedure getNumerator,return from a call to Fraction_getNumerator,Condition is true] +codetoanalyze/objc/errors/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, ERROR, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA_meth] +codetoanalyze/objc/errors/npe/block.m, BlockA_doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure doSomethingThenCallback:] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo, 5, NULL_DEREFERENCE, ERROR, [start of procedure foo] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo3:, 3, NULL_DEREFERENCE, ERROR, [start of procedure foo3:] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo4:, 6, NULL_DEREFERENCE, ERROR, [start of procedure foo4:] +codetoanalyze/objc/errors/npe/block.m, BlockA_foo7, 2, IVAR_NOT_NULL_CHECKED, WARNING, [start of procedure foo7] +codetoanalyze/objc/errors/npe/ivar_blocks.m, MyClass_ivar_npe, 1, IVAR_NOT_NULL_CHECKED, WARNING, [start of procedure ivar_npe] +codetoanalyze/objc/errors/npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Condition is false] +codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, ERROR, [start of procedure property_main(),Skipping aProperty: function or method not found] +codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, ProcessContentsOfFile, 35, RESOURCE_LEAK, ERROR, [start of procedure ProcessContentsOfFile(),Condition is false,Skipping dispatch_get_global_queue(): function or method not found,Skipping dispatch_source_create(): function or method not found,Condition is false] +codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 6, MEMORY_LEAK, ERROR, [start of procedure block,Skipping dispatch_source_get_data(): function or method not found,Condition is true,Skipping MyProcessFileData(): function or method not found] +codetoanalyze/objc/errors/resource_leaks/ResourceLeakExample.m, NSFileHandle_fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, ERROR, [start of procedure fileHandleForLoggingAtPath:mode:,Condition is true,Skipping fileSystemRepresentation: function or method not found,Condition is false,Condition is true,Skipping autorelease: function or method not found] +codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A_test1:, 2, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure test1:,Message child with receiver nil returns nil.] +codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A_test3:, 1, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure test3:] +codetoanalyze/objc/shared/annotations/nullable_annotations.m, User_otherUserName, 2, NULL_DEREFERENCE, ERROR, [start of procedure otherUserName,Skipping otherUser: function or method not found] +codetoanalyze/objc/shared/annotations/nullable_annotations.m, npe_property_nullable, 3, NULL_DEREFERENCE, ERROR, [start of procedure npe_property_nullable(),Skipping child: function or method not found] +codetoanalyze/objc/shared/annotations/nullable_annotations_fields.m, A_nullable_field, 3, NULL_DEREFERENCE, ERROR, [start of procedure nullable_field,Skipping getA(): function or method not found] +codetoanalyze/objc/shared/block/dispatch.m, DispatchA_dispatch_a_block_variable_from_macro_delivers_initialised_object, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure dispatch_a_block_variable_from_macro_delivers_initialised_object,start of procedure dispatch_a_block_variable_from_macro,Skipping _dispatch_once(): function or method not found,return from a call to DispatchA_dispatch_a_block_variable_from_macro] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockCapturedVarLeak, 6, MEMORY_LEAK, ERROR, [start of procedure blockCapturedVarLeak,start of procedure block,return from a call to objc_blockMemoryLeakExample_blockCapturedVarLeak_1] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyph:, 2, MEMORY_LEAK, ERROR, [start of procedure createCloseCrossGlyph:,Skipping CGRectGetHeight(): function or method not found] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForText, 1, MEMORY_LEAK, ERROR, [start of procedure measureFrameSizeForText] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_regularLeak, 3, MEMORY_LEAK, ERROR, [start of procedure regularLeak] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test, 3, MEMORY_LEAK, ERROR, [start of procedure test,Skipping bounds: function or method not found,Skipping setShadowPath:: function or method not found] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test1:, 1, MEMORY_LEAK, ERROR, [start of procedure test1:] +codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test2:, 1, MEMORY_LEAK, ERROR, [start of procedure test2:] +codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr_test_no_bug, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_no_bug,Condition is true] diff --git a/infer/tests/codetoanalyze/objc/ioslints/issues.exp b/infer/tests/codetoanalyze/objc/ioslints/issues.exp index c51301e8c..6b043f06f 100644 --- a/infer/tests/codetoanalyze/objc/ioslints/issues.exp +++ b/infer/tests/codetoanalyze/objc/ioslints/issues.exp @@ -1,11 +1,11 @@ -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m2, 136, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m3, 144, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_uifont_without_respondstoselector, 118, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_with_responds_to_selector_in_else, 71, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_instances_responds_to_selector, 95, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_responds_to_selector, 64, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, OpenURLOptionsFromSourceApplication, 77, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_test, 29, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class, 43, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class_with_attributes, 62, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, [] -codetoanalyze/objc/ioslints/unavailable_property_ios.m, FNFPlayerLayer_initWithConfigs, 22, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m2, 136, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_m3, 144, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_uifont_without_respondstoselector, 118, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_with_responds_to_selector_in_else, 71, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_instances_responds_to_selector, 95, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_allowed_cases.m, Unavailable_api_allowed_cases_without_responds_to_selector, 64, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, OpenURLOptionsFromSourceApplication, 77, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_test, 29, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class, 43, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_api_in_supported_ios_sdk.m, Unavailable_api_in_supported_ios_sdk_unsupported_class_with_attributes, 62, UNAVAILABLE_CLASS_IN_SUPPORTED_IOS_SDK, ERROR, [] +codetoanalyze/objc/ioslints/unavailable_property_ios.m, FNFPlayerLayer_initWithConfigs, 22, UNAVAILABLE_API_IN_SUPPORTED_IOS_SDK, ERROR, [] diff --git a/infer/tests/codetoanalyze/objc/linters-def-folder/issues.exp b/infer/tests/codetoanalyze/objc/linters-def-folder/issues.exp index 559bc33d3..4e007b068 100644 --- a/infer/tests/codetoanalyze/objc/linters-def-folder/issues.exp +++ b/infer/tests/codetoanalyze/objc/linters-def-folder/issues.exp @@ -1,4 +1,4 @@ -codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 20, SUBCLASSING_TEST_EXAMPLE, [] -codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 26, FORBIDDEN_NAME_EXAMPLE, [] -codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 36, STRONG_UIAPPLICATION_WARNING, [] -codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 38, STRONG_UIAPPLICATION_WARNING, [] +codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 20, SUBCLASSING_TEST_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 26, FORBIDDEN_NAME_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 36, STRONG_UIAPPLICATION_WARNING, WARNING, [] +codetoanalyze/objc/linters-def-folder/file.m, Linters_dummy_method, 38, STRONG_UIAPPLICATION_WARNING, WARNING, [] diff --git a/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp b/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp index 4db840f06..21c757c03 100644 --- a/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp +++ b/infer/tests/codetoanalyze/objc/linters-for-test-only/issues.exp @@ -1,106 +1,106 @@ -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelfBase_testView, 17, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf_methodThatShallComplain, 41, TEST_IF_VIEW_METHOD_IS_NOT_CALLED_WITH_SUPER, [] -codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf_testView, 45, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest_method, 16, TEST_IN_METHOD_CONTEXT, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest_method, 16, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, function, 27, TEST_IN_FUNCTION_CONTEXT, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, function, 27, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, objc_block_1, 21, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, objc_block_2, 21, TEST_IN_BLOCK_CONTEXT, [] -codetoanalyze/objc/linters-for-test-only/InSubclassExample.m, HappySadView2_makeBadAction, 35, IN_SUBCLASS_TEST, [] -codetoanalyze/objc/linters-for-test-only/PrivateAPIChecker.m, TestView_methoddd, 21, TEST_SELECTOR, [] -codetoanalyze/objc/linters-for-test-only/enums.m, test, 17, ENUM_CONSTANTS, [] -codetoanalyze/objc/linters-for-test-only/enums.m, test, 17, ENUM_CONSTANTS_OF_ENUM, [] -codetoanalyze/objc/linters-for-test-only/enums.m, test_c_style_enum, 23, ENUM_CONSTANTS, [] -codetoanalyze/objc/linters-for-test-only/enums.m, test_enum_constant_of_enum, 19, ENUM_CONSTANTS, [] -codetoanalyze/objc/linters-for-test-only/enums.m, test_enum_constant_of_enum, 19, ENUM_CONSTANTS_OF_ENUM, [] -codetoanalyze/objc/linters-for-test-only/filter_by_path/include_file.m, main, 9, ALL_PATH_NO_FILTER_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/filter_by_path/include_file.m, main, 9, FILTER_BY_ALL_PATH_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/filter_by_path/include_file.m, main, 9, FILTER_BY_PATH_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, ALL_PATH_NO_FILTER_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, BLACKLIST_PATH_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, FILTER_BY_ALL_PATH_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, WHITE_BLACKLIST_PATH_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 10, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_IMPLICIT_CAST_CHECK, [] -codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_VAR_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 9, TEST_DEFINE_NAMESPACE, [] -codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 17, TEST_USING_NAMESPACE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA, 24, TEST_INSTANCE_TYPE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA, 24, TEST_PROTOCOL_TYPE_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB, 25, TEST_INSTANCE_TYPE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB, 25, TEST_PROTOCOL_TYPE_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC, 26, TEST_INSTANCE_TYPE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC, 26, TEST_PROTOCOL_TYPE_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_GENERICS_TYPE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_INSTANCE_TYPE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_PROTOCOL_TYPE_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 11, TEST_PROTOCOL_DEF_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 14, TEST_PROTOCOL_DEF_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 17, TEST_PROTOCOL_DEF_INHERITANCE, [] -codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent_newWithAction, 12, TEST_INSTANCE_TYPE, [] -codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent_newWithAction, 12, TEST_PARAMETER_SEL_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_PARAM_TYPE_CHECK2, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_RETURN_METHOD, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_PARAM_TYPE_CHECK2, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_RETURN_METHOD, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 28, TEST_RETURN_METHOD, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 34, TEST_RETURN_METHOD, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 35, TEST_ALL_METHODS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 36, MACRO_TEST1, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 36, MACRO_TEST2, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 36, MACRO_TEST3, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, GLOBAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, IMPORTED_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, LOCAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, SUBCLASSING_TEST_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, GLOBAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, IMPORTED_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, LOCAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, SUBCLASSING_TEST_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, GLOBAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, IMPORTED_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, LOCAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, SUBCLASSING_TEST_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, GLOBAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, IMPORTED_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, LOCAL_MACRO_SUBCLASS, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, SUBCLASSING_TEST_EXAMPLE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 111, TEST_TYPEDEF_CHECK, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 119, TEST_TYPEDEF_CHECK, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 125, TEST_TYPEDEF_CHECK, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m1, 73, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m10, 82, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m11, 83, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m12, 84, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m13, 85, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m14, 86, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m15, 87, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m15, 87, TEST_RETURN_METHOD, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m16, 88, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m17, 89, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m2, 74, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m20, 91, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m21, 92, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m22, 93, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m23, 99, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m24, 100, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m25, 101, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 102, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 103, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 105, TEST_NTH_PARAM_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 105, TEST_PARAM_TYPE_CHECK, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m3, 75, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m4, 76, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m7, 79, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m8, 80, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m9, 81, TEST_BUILTIN_TYPE, [] -codetoanalyze/objc/linters-for-test-only/subclassing.m, bar, 129, TEST_NTH_PARAM_TYPE_CHECK_FUNCTION, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 31, TEST_DEFAULT_VISIBILITY, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 32, TEST_DEFAULT_VISIBILITY, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 33, TEST_HIDDEN_VISIBILITY, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 34, TEST_HIDDEN_VISIBILITY, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 35, TEST_USED_ATTRIBUTE, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 36, TEST_DEFAULT_VISIBILITY, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 36, TEST_DEFAULT_VISIBILITY_WITH_USED_ATTRIBUTE, [] -codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 36, TEST_USED_ATTRIBUTE, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelfBase_testView, 17, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf_methodThatShallComplain, 41, TEST_IF_VIEW_METHOD_IS_NOT_CALLED_WITH_SUPER, WARNING, [] +codetoanalyze/objc/linters-for-test-only/CallingAMethodWithSelf.m, CallingAMethodWithSelf_testView, 45, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest_method, 16, TEST_IN_METHOD_CONTEXT, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, InContextOfMethodsTest_method, 16, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, function, 27, TEST_IN_FUNCTION_CONTEXT, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, function, 27, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, objc_block_1, 21, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InContextOfMethodsTest.m, objc_block_2, 21, TEST_IN_BLOCK_CONTEXT, WARNING, [] +codetoanalyze/objc/linters-for-test-only/InSubclassExample.m, HappySadView2_makeBadAction, 35, IN_SUBCLASS_TEST, WARNING, [] +codetoanalyze/objc/linters-for-test-only/PrivateAPIChecker.m, TestView_methoddd, 21, TEST_SELECTOR, WARNING, [] +codetoanalyze/objc/linters-for-test-only/enums.m, test, 17, ENUM_CONSTANTS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/enums.m, test, 17, ENUM_CONSTANTS_OF_ENUM, WARNING, [] +codetoanalyze/objc/linters-for-test-only/enums.m, test_c_style_enum, 23, ENUM_CONSTANTS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/enums.m, test_enum_constant_of_enum, 19, ENUM_CONSTANTS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/enums.m, test_enum_constant_of_enum, 19, ENUM_CONSTANTS_OF_ENUM, WARNING, [] +codetoanalyze/objc/linters-for-test-only/filter_by_path/include_file.m, main, 9, ALL_PATH_NO_FILTER_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/filter_by_path/include_file.m, main, 9, FILTER_BY_ALL_PATH_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/filter_by_path/include_file.m, main, 9, FILTER_BY_PATH_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, ALL_PATH_NO_FILTER_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, BLACKLIST_PATH_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, FILTER_BY_ALL_PATH_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 9, WHITE_BLACKLIST_PATH_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 10, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_IMPLICIT_CAST_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/implicit_cast.c, main, 11, TEST_VAR_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 9, TEST_DEFINE_NAMESPACE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/namespace.mm, Linters_dummy_method, 17, TEST_USING_NAMESPACE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA, 24, TEST_INSTANCE_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithA, 24, TEST_PROTOCOL_TYPE_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB, 25, TEST_INSTANCE_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithB, 25, TEST_PROTOCOL_TYPE_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC, 26, TEST_INSTANCE_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithC, 26, TEST_PROTOCOL_TYPE_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_GENERICS_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_INSTANCE_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Foo_newWithCs, 27, TEST_PROTOCOL_TYPE_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 11, TEST_PROTOCOL_DEF_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 14, TEST_PROTOCOL_DEF_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/protocols.m, Linters_dummy_method, 17, TEST_PROTOCOL_DEF_INHERITANCE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent_newWithAction, 12, TEST_INSTANCE_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/sel.m, fooButtonComponent_newWithAction, 12, TEST_PARAMETER_SEL_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_PARAM_TYPE_CHECK2, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 13, TEST_RETURN_METHOD, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_PARAM_TYPE_CHECK2, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, A_foo, 19, TEST_RETURN_METHOD, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 28, TEST_RETURN_METHOD, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 34, TEST_RETURN_METHOD, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 35, TEST_ALL_METHODS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 36, MACRO_TEST1, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 36, MACRO_TEST2, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, B_bar, 36, MACRO_TEST3, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, GLOBAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, IMPORTED_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, LOCAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 26, SUBCLASSING_TEST_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, GLOBAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, IMPORTED_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, LOCAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 41, SUBCLASSING_TEST_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, GLOBAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, IMPORTED_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, LOCAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 47, SUBCLASSING_TEST_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, GLOBAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, IMPORTED_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, LOCAL_MACRO_SUBCLASS, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 53, SUBCLASSING_TEST_EXAMPLE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 111, TEST_TYPEDEF_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 119, TEST_TYPEDEF_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, Linters_dummy_method, 125, TEST_TYPEDEF_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m1, 73, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m10, 82, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m11, 83, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m12, 84, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m13, 85, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m14, 86, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m15, 87, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m15, 87, TEST_RETURN_METHOD, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m16, 88, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m17, 89, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m2, 74, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m20, 91, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m21, 92, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m22, 93, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m23, 99, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m24, 100, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m25, 101, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 102, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 103, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 105, TEST_NTH_PARAM_TYPE_CHECK, LIKE, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m26, 105, TEST_PARAM_TYPE_CHECK, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m3, 75, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m4, 76, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m7, 79, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m8, 80, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, TestType_m9, 81, TEST_BUILTIN_TYPE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/subclassing.m, bar, 129, TEST_NTH_PARAM_TYPE_CHECK_FUNCTION, LIKE, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 31, TEST_DEFAULT_VISIBILITY, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 32, TEST_DEFAULT_VISIBILITY, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 33, TEST_HIDDEN_VISIBILITY, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 34, TEST_HIDDEN_VISIBILITY, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 35, TEST_USED_ATTRIBUTE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 36, TEST_DEFAULT_VISIBILITY, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 36, TEST_DEFAULT_VISIBILITY_WITH_USED_ATTRIBUTE, WARNING, [] +codetoanalyze/objc/linters-for-test-only/visibility.c, bar, 36, TEST_USED_ATTRIBUTE, WARNING, [] diff --git a/infer/tests/codetoanalyze/objc/linters/issues.exp b/infer/tests/codetoanalyze/objc/linters/issues.exp index 7d2a1d7d5..bb3c5db31 100644 --- a/infer/tests/codetoanalyze/objc/linters/issues.exp +++ b/infer/tests/codetoanalyze/objc/linters/issues.exp @@ -1,53 +1,53 @@ -codetoanalyze/objc/linters/Pointer_to_const_objc_class.m, Linters_dummy_method, 13, POINTER_TO_CONST_OBJC_CLASS, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setBaseAlternate, 67, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setBaseProp, 64, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setBaseWillBeImplementedInCategory, 95, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setDerivedCategoryProp, 91, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setDerivedProp, 70, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setProtocolProp, 73, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setWillBeImplementedInCategory, 99, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, [] -codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 18, ASSIGN_POINTER_WARNING, [] -codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 20, ASSIGN_POINTER_WARNING, [] -codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 22, ASSIGN_POINTER_WARNING, [] -codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 38, ASSIGN_POINTER_WARNING, [] -codetoanalyze/objc/linters/atomic_prop.m, A_bla, 98, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -codetoanalyze/objc/linters/atomic_prop.m, A_bla, 99, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -codetoanalyze/objc/linters/atomic_prop.m, A_readP, 77, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -codetoanalyze/objc/linters/atomic_prop.m, A_readP, 77, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/atomic_prop.m, A_readP, 78, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/atomic_prop.m, A_writeQ, 82, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -codetoanalyze/objc/linters/atomic_prop.m, objc_block_1, 114, DIRECT_ATOMIC_PROPERTY_ACCESS, [] -codetoanalyze/objc/linters/badpointer.m, bad1, 17, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad10, 139, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad11, 148, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad12, 161, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad2, 26, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad3, 33, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad4, 85, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad5, 99, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad6, 106, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad7, 121, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad8, 128, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/badpointer.m, bad9, 135, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_call_with_boxed_int, 69, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_call_with_string, 62, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_ivar_dictionary_item_call_funct_with_int, 47, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_property_with_int, 51, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer, 17, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer1, 22, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer_from_a_method, 30, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/implicit_cast.m, integer_nil, 25, POINTER_TO_INTEGRAL_IMPLICIT_CAST, [] -codetoanalyze/objc/linters/nsnumber.m, bad1, 13, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/nsnumber.m, bad2, 18, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/nsnumber.m, bad3, 23, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/nsnumber.m, bad4, 43, BAD_POINTER_COMPARISON, [] -codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 80, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] -codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 97, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] -codetoanalyze/objc/linters/registered_observer/ViewController3.m, Linters_dummy_method, 14, REGISTERED_OBSERVER_BEING_DEALLOCATED, [] -codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 15, STRONG_DELEGATE_WARNING, [] -codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 19, STRONG_DELEGATE_WARNING, [] -codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 21, STRONG_DELEGATE_WARNING, [] -codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 23, STRONG_DELEGATE_WARNING, [] -codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 25, STRONG_DELEGATE_WARNING, [] +codetoanalyze/objc/linters/Pointer_to_const_objc_class.m, Linters_dummy_method, 13, POINTER_TO_CONST_OBJC_CLASS, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setBaseAlternate, 67, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setBaseProp, 64, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setBaseWillBeImplementedInCategory, 95, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setDerivedCategoryProp, 91, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setDerivedProp, 70, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setProtocolProp, 73, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/Weak_property_setter.m, Derived_setWillBeImplementedInCategory, 99, DISCOURAGED_WEAK_PROPERTY_CUSTOM_SETTER, WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 18, ASSIGN_POINTER_WARNING, WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 20, ASSIGN_POINTER_WARNING, WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 22, ASSIGN_POINTER_WARNING, WARNING, [] +codetoanalyze/objc/linters/assign_pointer.m, Linters_dummy_method, 38, ASSIGN_POINTER_WARNING, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_bla, 98, DIRECT_ATOMIC_PROPERTY_ACCESS, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_bla, 99, DIRECT_ATOMIC_PROPERTY_ACCESS, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readP, 77, DIRECT_ATOMIC_PROPERTY_ACCESS, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readP, 77, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readP, 78, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, DIRECT_ATOMIC_PROPERTY_ACCESS, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_readQ, 86, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, A_writeQ, 82, DIRECT_ATOMIC_PROPERTY_ACCESS, WARNING, [] +codetoanalyze/objc/linters/atomic_prop.m, objc_block_1, 114, DIRECT_ATOMIC_PROPERTY_ACCESS, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad1, 17, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad10, 139, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad11, 148, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad12, 161, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad2, 26, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad3, 33, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad4, 85, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad5, 99, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad6, 106, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad7, 121, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad8, 128, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/badpointer.m, bad9, 135, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_call_with_boxed_int, 69, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_call_with_string, 62, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_ivar_dictionary_item_call_funct_with_int, 47, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, Implicit_cast_property_with_int, 51, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer, 17, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer1, 22, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, calling_funct_with_pointer_from_a_method, 30, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/implicit_cast.m, integer_nil, 25, POINTER_TO_INTEGRAL_IMPLICIT_CAST, WARNING, [] +codetoanalyze/objc/linters/nsnumber.m, bad1, 13, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/nsnumber.m, bad2, 18, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/nsnumber.m, bad3, 23, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/nsnumber.m, bad4, 43, BAD_POINTER_COMPARISON, WARNING, [] +codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 80, REGISTERED_OBSERVER_BEING_DEALLOCATED, WARNING, [] +codetoanalyze/objc/linters/registered_observer/Person.m, Linters_dummy_method, 97, REGISTERED_OBSERVER_BEING_DEALLOCATED, WARNING, [] +codetoanalyze/objc/linters/registered_observer/ViewController3.m, Linters_dummy_method, 14, REGISTERED_OBSERVER_BEING_DEALLOCATED, WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 15, STRONG_DELEGATE_WARNING, WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 19, STRONG_DELEGATE_WARNING, WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 21, STRONG_DELEGATE_WARNING, WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 23, STRONG_DELEGATE_WARNING, WARNING, [] +codetoanalyze/objc/linters/strong_delegate.m, Linters_dummy_method, 25, STRONG_DELEGATE_WARNING, WARNING, [] diff --git a/infer/tests/codetoanalyze/objc/nullable/issues.exp b/infer/tests/codetoanalyze/objc/nullable/issues.exp index c06497d5a..3d4ede21f 100644 --- a/infer/tests/codetoanalyze/objc/nullable/issues.exp +++ b/infer/tests/codetoanalyze/objc/nullable/issues.exp @@ -1,25 +1,25 @@ -codetoanalyze/objc/nullable/Examples.m, T_FP_dereferenceNonnullFieldAfterTestForNullOkay, 1, FIELD_SHOULD_BE_NULLABLE, [Field nonnullField is compared to null here] -codetoanalyze/objc/nullable/Examples.m, T_addNullableObjectInMutableArrayBad, 2, NULLABLE_DEREFERENCE, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_assignNonnullFieldToNullBad, 1, FIELD_SHOULD_BE_NULLABLE, [Field nonnullField is assigned null here] -codetoanalyze/objc/nullable/Examples.m, T_assignUnnanotatedFieldToNullBad, 1, FIELD_SHOULD_BE_NULLABLE, [Field unnanotatedField is assigned null here] -codetoanalyze/objc/nullable/Examples.m, T_createArrayByAddingNilBad, 2, NULLABLE_DEREFERENCE, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_dereferenceNullableFunctionBad, 2, NULLABLE_DEREFERENCE, [dereference of &p,assignment of the nullable value,definition of returnsNull] -codetoanalyze/objc/nullable/Examples.m, T_dereferenceNullableLibraryMethodBad:, 2, NULLABLE_DEREFERENCE, [dereference of &nullableObject,assignment of the nullable value,definition of nullableLibraryMethod] -codetoanalyze/objc/nullable/Examples.m, T_dereferenceUnnanotatedFieldAfterTestForNullBad, 1, FIELD_SHOULD_BE_NULLABLE, [Field unnanotatedField is compared to null here] -codetoanalyze/objc/nullable/Examples.m, T_indirectNullableKeyInNSDictionaryBad, 3, NULLABLE_DEREFERENCE, [dereference of &nullableKeyString,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_insertNullableObjectInMutableArrayBad, 2, NULLABLE_DEREFERENCE, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableKeyInNSDictionaryBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableKey,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableKeyInNSDictionaryInitBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableKey,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableKeyInNSDictionaryInitLiteralBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableKey,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableObjectInNSArrayBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableObject,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableValueInNSDictionaryBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableValue,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableValueInNSDictionaryInitBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableValue,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_nullableValueInNSDictionaryInitLiteralBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableValue,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_propagateNullabilityOnMethodCallBad, 4, NULLABLE_DEREFERENCE, [dereference of &nullableString,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_secondElementNullableObjectInNSArrayBad, 3, NULLABLE_DEREFERENCE, [dereference of &nullableObject,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_setNullableObjectInDictionaryBad, 2, NULLABLE_DEREFERENCE, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, T_shouldPropagateNullabilityOnPointerTypeBad, 3, NULLABLE_DEREFERENCE, [dereference of &s,assignment of the nullable value,definition of nullableT] -codetoanalyze/objc/nullable/Examples.m, T_testNonnullFieldForNullBad, 1, FIELD_SHOULD_BE_NULLABLE, [Field nonnullField is compared to null here] -codetoanalyze/objc/nullable/Examples.m, T_testUnnanotatedFieldForNullBad, 1, FIELD_SHOULD_BE_NULLABLE, [Field unnanotatedField is compared to null here] -codetoanalyze/objc/nullable/Examples.m, callNullableMethodFromProtocolBad, 2, NULLABLE_DEREFERENCE, [dereference of &nullableObject,assignment of the nullable value,definition of nullableMethod] -codetoanalyze/objc/nullable/Examples.m, objc_blockT_DeadStoreFP_testUnnanotatedFieldInClosureBad_1, 1, FIELD_SHOULD_BE_NULLABLE, [Field unnanotatedField is compared to null here] +codetoanalyze/objc/nullable/Examples.m, T_FP_dereferenceNonnullFieldAfterTestForNullOkay, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnullField is compared to null here] +codetoanalyze/objc/nullable/Examples.m, T_addNullableObjectInMutableArrayBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_assignNonnullFieldToNullBad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnullField is assigned null here] +codetoanalyze/objc/nullable/Examples.m, T_assignUnnanotatedFieldToNullBad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotatedField is assigned null here] +codetoanalyze/objc/nullable/Examples.m, T_createArrayByAddingNilBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_dereferenceNullableFunctionBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &p,assignment of the nullable value,definition of returnsNull] +codetoanalyze/objc/nullable/Examples.m, T_dereferenceNullableLibraryMethodBad:, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableObject,assignment of the nullable value,definition of nullableLibraryMethod] +codetoanalyze/objc/nullable/Examples.m, T_dereferenceUnnanotatedFieldAfterTestForNullBad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotatedField is compared to null here] +codetoanalyze/objc/nullable/Examples.m, T_indirectNullableKeyInNSDictionaryBad, 3, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableKeyString,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_insertNullableObjectInMutableArrayBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableKeyInNSDictionaryBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableKey,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableKeyInNSDictionaryInitBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableKey,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableKeyInNSDictionaryInitLiteralBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableKey,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableObjectInNSArrayBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableObject,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableValueInNSDictionaryBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableValue,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableValueInNSDictionaryInitBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableValue,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_nullableValueInNSDictionaryInitLiteralBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableValue,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_propagateNullabilityOnMethodCallBad, 4, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableString,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_secondElementNullableObjectInNSArrayBad, 3, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableObject,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_setNullableObjectInDictionaryBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of nullableMethod,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, T_shouldPropagateNullabilityOnPointerTypeBad, 3, NULLABLE_DEREFERENCE, ERROR, [dereference of &s,assignment of the nullable value,definition of nullableT] +codetoanalyze/objc/nullable/Examples.m, T_testNonnullFieldForNullBad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnullField is compared to null here] +codetoanalyze/objc/nullable/Examples.m, T_testUnnanotatedFieldForNullBad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotatedField is compared to null here] +codetoanalyze/objc/nullable/Examples.m, callNullableMethodFromProtocolBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of &nullableObject,assignment of the nullable value,definition of nullableMethod] +codetoanalyze/objc/nullable/Examples.m, objc_blockT_DeadStoreFP_testUnnanotatedFieldInClosureBad_1, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotatedField is compared to null here] diff --git a/infer/tests/codetoanalyze/objc/uninit/issues.exp b/infer/tests/codetoanalyze/objc/uninit/issues.exp index 7b2a939d8..145bff75c 100644 --- a/infer/tests/codetoanalyze/objc/uninit/issues.exp +++ b/infer/tests/codetoanalyze/objc/uninit/issues.exp @@ -1,4 +1,4 @@ -codetoanalyze/objc/uninit/arrays.m, array_length_undef_bad, 2, UNINITIALIZED_VALUE, [] -codetoanalyze/objc/uninit/arrays.m, bad1, 3, UNINITIALIZED_VALUE, [] -codetoanalyze/objc/uninit/arrays.m, bad2, 2, UNINITIALIZED_VALUE, [] -codetoanalyze/objc/uninit/uninit_blocks.m, A_bad1, 5, UNINITIALIZED_VALUE, [] +codetoanalyze/objc/uninit/arrays.m, array_length_undef_bad, 2, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/objc/uninit/arrays.m, bad1, 3, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/objc/uninit/arrays.m, bad2, 2, UNINITIALIZED_VALUE, ERROR, [] +codetoanalyze/objc/uninit/uninit_blocks.m, A_bad1, 5, UNINITIALIZED_VALUE, ERROR, [] diff --git a/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp b/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp index bd0b3bbfe..6a8fe1086 100644 --- a/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/linters-for-test-only/issues.exp @@ -1,29 +1,29 @@ -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction, 27, TEST_REFERENCE, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction, 44, TEST_REFERENCE, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef, 24, TEST_REFERENCE, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef, 40, TEST_REFERENCE, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction, 21, TEST_REFERENCE, [] -codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction, 36, TEST_REFERENCE, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage, 12, NEW_COMPONENT_USING_MEM_MODEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage, 27, NEW_COMPONENT_USING_MEM_MODEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams, 20, NEW_COMPONENT_USING_MEM_MODEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams, 44, NEW_COMPONENT_USING_MEM_MODEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery, 52, NEW_COMPONENT_USING_MEM_MODEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery, 58, NEW_COMPONENT_USING_MEM_MODEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, PARAMETER_TRANS_TYPE, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL_REGEXP, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, PARAMETER_TRANS_TYPE, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL_EMPTY_MAP, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL_EMPTY_STRUCT, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL_REGEXP, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 54, TEST_PARAMETER_SELECTOR, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 54, TEST_PARAMETER_SELECTOR_BY_TYPE, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 56, TEST_PARAMETER_SELECTOR, [] -codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 56, TEST_PARAMETER_SELECTOR_BY_TYPE, [] -codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, Linters_dummy_method, 19, FIELD_STRUCT_STRING, [] -codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, buttonComponent, 33, TITLE_NOT_INITIALIZED, [] -codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, buttonComponent, 35, TITLE_NOT_INITIALIZED, [] -codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, buttonComponent, 39, TITLE_NOT_INITIALIZED, [] -codetoanalyze/objcpp/linters-for-test-only/hash_test.mm, std::hash_NSObject_*__operator(), 14, DISCOURAGED_HASH_METHOD_INVOCATION, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction, 27, TEST_REFERENCE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithAction, 44, TEST_REFERENCE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef, 24, TEST_REFERENCE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithActionRef, 40, TEST_REFERENCE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction, 21, TEST_REFERENCE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/ReferenceTest.mm, ReferenceTest_newWithConstAction, 36, TEST_REFERENCE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage, 12, NEW_COMPONENT_USING_MEM_MODEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newImage, 27, NEW_COMPONENT_USING_MEM_MODEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams, 20, NEW_COMPONENT_USING_MEM_MODEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed1_newMultiParams, 44, NEW_COMPONENT_USING_MEM_MODEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery, 52, NEW_COMPONENT_USING_MEM_MODEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParameterMemModels.mm, FBMemModelUsed2_newQuery, 58, NEW_COMPONENT_USING_MEM_MODEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, PARAMETER_TRANS_TYPE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, anotherButtonComponent, 41, TEST_PARAMETER_LABEL_REGEXP, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, PARAMETER_TRANS_TYPE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL_EMPTY_MAP, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL_EMPTY_STRUCT, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, buttonComponent, 31, TEST_PARAMETER_LABEL_REGEXP, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 54, TEST_PARAMETER_SELECTOR, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 54, TEST_PARAMETER_SELECTOR_BY_TYPE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 56, TEST_PARAMETER_SELECTOR, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestParamterLabelsChecks.mm, foo, 56, TEST_PARAMETER_SELECTOR_BY_TYPE, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, Linters_dummy_method, 19, FIELD_STRUCT_STRING, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, buttonComponent, 33, TITLE_NOT_INITIALIZED, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, buttonComponent, 35, TITLE_NOT_INITIALIZED, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/TestStructFieldChecks.mm, buttonComponent, 39, TITLE_NOT_INITIALIZED, WARNING, [] +codetoanalyze/objcpp/linters-for-test-only/hash_test.mm, std::hash_NSObject_*__operator(), 14, DISCOURAGED_HASH_METHOD_INVOCATION, WARNING, [] diff --git a/infer/tests/codetoanalyze/objcpp/linters/issues.exp b/infer/tests/codetoanalyze/objcpp/linters/issues.exp index 5178bebcd..19a3ace1e 100644 --- a/infer/tests/codetoanalyze/objcpp/linters/issues.exp +++ b/infer/tests/codetoanalyze/objcpp/linters/issues.exp @@ -1,32 +1,32 @@ -codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionAfterImpl, 35, COMPONENT_FACTORY_FUNCTION, [] -codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionBeforeImpl, 21, COMPONENT_FACTORY_FUNCTION, [] -codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionInsideImpl, 29, COMPONENT_FACTORY_FUNCTION, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 19, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 24, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 29, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, objc_block_1, 37, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, objc_block_2, 41, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, [] -codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 20, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 32, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 55, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 61, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 62, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 63, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 90, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 92, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 111, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 117, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 52, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 57, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 60, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 60, POINTER_TO_CONST_OBJC_CLASS, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 61, POINTER_TO_CONST_OBJC_CLASS, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 64, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 69, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass_init, 40, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, [] -codetoanalyze/objcpp/linters/componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 17, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, [] -codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo, 20, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] -codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo3, 37, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, [] -codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 30, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] -codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 32, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] -codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 34, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, [] +codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionAfterImpl, 35, COMPONENT_FACTORY_FUNCTION, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionBeforeImpl, 21, COMPONENT_FACTORY_FUNCTION, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/FactoryFunctionTest.mm, ExampleFunctionInsideImpl, 29, COMPONENT_FACTORY_FUNCTION, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 19, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 24, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, FooComponent_newDerp, 29, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, objc_block_1, 37, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/InitializerWithSideEffectTest.mm, objc_block_2, 41, COMPONENT_INITIALIZER_WITH_SIDE_EFFECTS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 20, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 32, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 55, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 61, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 62, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MultipleFactoryMethodsTest.h, Linters_dummy_method, 63, COMPONENT_WITH_MULTIPLE_FACTORY_METHODS, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 90, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 92, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 111, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, BarComponent_new, 117, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 52, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 57, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 60, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 60, POINTER_TO_CONST_OBJC_CLASS, WARNING, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 61, POINTER_TO_CONST_OBJC_CLASS, WARNING, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 64, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, FooComponent_newWithString, 69, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/MutableLocalVariablesTest.mm, SomeClass_init, 40, MUTABLE_LOCAL_VARIABLE_IN_COMPONENT_FILE, ADVICE, [] +codetoanalyze/objcpp/linters/componentkit/UnconventionalSuperclassTest.h, Linters_dummy_method, 17, COMPONENT_WITH_UNCONVENTIONAL_SUPERCLASS, ADVICE, [] +codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo, 20, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, WARNING, [] +codetoanalyze/objcpp/linters/cxx_reference_in_block/block.mm, A_foo3, 37, CXX_REFERENCE_CAPTURED_IN_OBJC_BLOCK, WARNING, [] +codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 30, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, WARNING, [] +codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 32, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, WARNING, [] +codetoanalyze/objcpp/linters/global-var/B.mm, Linters_dummy_method, 34, GLOBAL_VARIABLE_INITIALIZED_WITH_FUNCTION_OR_METHOD_CALL, WARNING, []