diff --git a/infer/src/backend/state.ml b/infer/src/backend/state.ml index 2a94de69b..d15efed6e 100644 --- a/infer/src/backend/state.ml +++ b/infer/src/backend/state.ml @@ -319,7 +319,7 @@ let process_execution_failures (log_issue : log_issue) pname = let do_failure _ fs = (* L.err "Node:%a node_ok:%d node_fail:%d@." Procdesc.Node.pp node fs.node_ok fs.node_fail; *) match fs.node_ok, fs.first_failure with - | 0, Some (loc, key, _, loc_trace, exn) -> + | 0, Some (loc, key, _, loc_trace, exn) when not Config.debug_exceptions -> let ex_name, _, ml_loc_opt, _, _, _, _ = Exceptions.recognize_exception exn in let desc' = Localise.verbatim_desc ("exception: " ^ Localise.to_string ex_name) in let exn' = Exceptions.Analysis_stops (desc', ml_loc_opt) in diff --git a/infer/tests/codetoanalyze/c/errors/issues.exp b/infer/tests/codetoanalyze/c/errors/issues.exp index dc794bc2b..1bc96fdfa 100644 --- a/infer/tests/codetoanalyze/c/errors/issues.exp +++ b/infer/tests/codetoanalyze/c/errors/issues.exp @@ -11,15 +11,12 @@ assertions/assertion_failure.c, assignemt_before_check, 3, ASSERTION_FAILURE assertions/assertion_failure.c, failure_on_both_branches, 6, ASSERTION_FAILURE assertions/assertion_failure.c, should_report_assertion_failure, 3, ASSERTION_FAILURE assertions/assertion_failure.c, simple_assertion_failure, 3, ASSERTION_FAILURE -attributes/sentinel.c, truncated_call, 5, ANALYSIS_STOPS attributes/sentinel.c, truncated_call, 5, PREMATURE_NIL_TERMINATION_ARGUMENT custom_error/custom.c, paf, 3, UNEXPECTED_NEGATIVE_EXPONENT custom_error/custom.c, pouf, 3, UNEXPECTED_NEGATIVE_EXPONENT -dangling_deref/dpd.c, dpd, 3, ANALYSIS_STOPS dangling_deref/dpd.c, dpd, 3, DANGLING_POINTER_DEREFERENCE dangling_deref/dpd.c, dpd, 3, RETURN_VALUE_IGNORED dangling_deref/dpd.c, dpd, 3, UNINITIALIZED_VALUE -dangling_deref/dpd.c, intraprocdpd, 3, ANALYSIS_STOPS dangling_deref/dpd.c, intraprocdpd, 3, DANGLING_POINTER_DEREFERENCE dangling_deref/dpd.c, intraprocdpd, 3, UNINITIALIZED_VALUE dangling_deref/dpd.c, nodpd, 2, RETURN_VALUE_IGNORED @@ -27,7 +24,6 @@ dangling_deref/dpd.c, nodpd1, 3, NULL_DEREFERENCE dangling_deref/dpd.c, nodpd1, 3, RETURN_VALUE_IGNORED enumeration/other_enum.c, other_enum_test, 4, DIVIDE_BY_ZERO initialization/compound_literal.c, divide_by_zero, 0, DIVIDE_BY_ZERO -initialization/initlistexpr.c, init_divide_by_zero, 2, ANALYSIS_STOPS initialization/initlistexpr.c, init_divide_by_zero, 2, Assert_failure initialization/initlistexpr.c, init_divide_by_zero, 2, DIVIDE_BY_ZERO lists/lists.c, call_delete_all2, 5, PRECONDITION_NOT_MET @@ -40,19 +36,12 @@ memory_leaks/test.c, common_realloc_leak, 3, MEMORY_LEAK memory_leaks/test.c, conditional_last_instruction, 2, MEMORY_LEAK memory_leaks/test.c, simple_leak, 2, MEMORY_LEAK memory_leaks/test.c, uses_allocator, 3, MEMORY_LEAK -null_dereference/angelism.c, bake, 2, ANALYSIS_STOPS null_dereference/angelism.c, bake, 2, NULL_DEREFERENCE -null_dereference/angelism.c, call_by_ref_actual_already_in_footprint_bad, 1, ANALYSIS_STOPS null_dereference/angelism.c, call_by_ref_actual_already_in_footprint_bad, 1, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_by_ref_callee_write_no_skip, 3, ANALYSIS_STOPS null_dereference/angelism.c, struct_value_by_ref_callee_write_no_skip, 3, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_by_ref_callee_write_skip, 4, ANALYSIS_STOPS null_dereference/angelism.c, struct_value_by_ref_callee_write_skip, 4, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_by_ref_ptr_write, 4, ANALYSIS_STOPS null_dereference/angelism.c, struct_value_by_ref_ptr_write, 4, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_from_pointer_skip_bad, 3, ANALYSIS_STOPS null_dereference/angelism.c, struct_value_from_pointer_skip_bad, 3, NULL_DEREFERENCE -null_dereference/angelism.c, struct_value_skip_null_deref, 4, ANALYSIS_STOPS null_dereference/angelism.c, struct_value_skip_null_deref, 4, NULL_DEREFERENCE null_dereference/getc.c, crash_clearerr, 4, NULL_DEREFERENCE null_dereference/getc.c, crash_feof, 4, NULL_DEREFERENCE @@ -75,25 +64,17 @@ null_dereference/getc.c, crash_ungetc, 5, RETURN_VALUE_IGNORED null_dereference/getc.c, crash_vfprintf, 5, NULL_DEREFERENCE null_dereference/getc.c, nocrash_ungetc, 5, RETURN_VALUE_IGNORED null_dereference/malloc_no_null_check.c, test_malloc, 2, NULL_DEREFERENCE -null_dereference/memcpy-test.c, testError1, 3, ANALYSIS_STOPS null_dereference/memcpy-test.c, testError1, 3, NULL_DEREFERENCE -null_dereference/memcpy-test.c, testError2, 5, ANALYSIS_STOPS null_dereference/memcpy-test.c, testError2, 5, NULL_DEREFERENCE -null_dereference/memcpy-test.c, testError3, 4, ANALYSIS_STOPS null_dereference/memcpy-test.c, testError3, 4, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, basic_null_dereference, 2, ANALYSIS_STOPS null_dereference/null_pointer_dereference.c, basic_null_dereference, 2, NULL_DEREFERENCE null_dereference/null_pointer_dereference.c, function_call_can_return_null_pointer, 3, NULL_DEREFERENCE null_dereference/null_pointer_dereference.c, no_check_for_null_after_malloc, 3, NULL_DEREFERENCE null_dereference/null_pointer_dereference.c, no_check_for_null_after_realloc, 9, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, null_passed_as_argument, 1, ANALYSIS_STOPS null_dereference/null_pointer_dereference.c, null_passed_as_argument, 1, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, null_pointer_interproc, 2, ANALYSIS_STOPS null_dereference/null_pointer_dereference.c, null_pointer_interproc, 2, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, null_pointer_with_function_pointer, 4, ANALYSIS_STOPS null_dereference/null_pointer_dereference.c, null_pointer_with_function_pointer, 4, NULL_DEREFERENCE null_dereference/null_pointer_dereference.c, potentially_null_pointer_passed_as_argument, 3, NULL_DEREFERENCE -null_dereference/null_pointer_dereference.c, simple_null_pointer, 2, ANALYSIS_STOPS null_dereference/null_pointer_dereference.c, simple_null_pointer, 2, NULL_DEREFERENCE null_dereference/short.c, f_error, 2, NULL_DEREFERENCE null_dereference/short.c, f_error, 2, NULL_TEST_AFTER_DEREFERENCE diff --git a/infer/tests/codetoanalyze/cpp/errors/issues.exp b/infer/tests/codetoanalyze/cpp/errors/issues.exp index ba4a24fae..260069f37 100644 --- a/infer/tests/codetoanalyze/cpp/errors/issues.exp +++ b/infer/tests/codetoanalyze/cpp/errors/issues.exp @@ -4,7 +4,6 @@ c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, [start of procedure crash_g c_tests/c_bugs.cpp, crash_getc, 4, RETURN_VALUE_IGNORED, [start of procedure crash_getc()] c_tests/c_bugs.cpp, malloc_fail_gets_reported, 2, NULL_DEREFERENCE, [start of procedure malloc_fail_gets_reported()] c_tests/c_bugs.cpp, malloc_memory_leak_is_reported, 0, MEMORY_LEAK, [start of procedure malloc_memory_leak_is_reported()] -c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, ANALYSIS_STOPS, [start of procedure memcpy_spec_is_found()] c_tests/c_bugs.cpp, memcpy_spec_is_found, 3, NULL_DEREFERENCE, [start of procedure memcpy_spec_is_found()] c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RESOURCE_LEAK, [start of procedure resource_leak_is_reported()] c_tests/c_bugs.cpp, resource_leak_is_reported, 0, RETURN_VALUE_IGNORED, [start of procedure resource_leak_is_reported()] @@ -19,23 +18,15 @@ memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, [start of procedure o memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, [start of procedure memory_leak()] 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] 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] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_field_deref, 2, ANALYSIS_STOPS, [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] 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] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref, 2, ANALYSIS_STOPS, [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] 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] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref2, 2, ANALYSIS_STOPS, [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] 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] npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_ok_field_deref, 4, UNINITIALIZED_VALUE, [start of procedure boxed_ptr::smart_ptr_ok_field_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] -npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, ANALYSIS_STOPS, [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] 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] npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_ok_deref, 4, UNINITIALIZED_VALUE, [start of procedure boxed_ptr::smart_ptr_result_method_ok_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 getPtr,return from a call to boxed_ptr::X_getPtr] -npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2, ANALYSIS_STOPS, [start of procedure npe_added_to_b1::causes_npe(),start of procedure npe_added_to_b1::deref_ref()] 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()] -npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, ANALYSIS_STOPS, [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()] 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()] -npe/null_returned_by_method.cpp, testNullDeref, 3, ANALYSIS_STOPS, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull] 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] -npe/object_deref.cpp, object_deref::derefNullField, 2, ANALYSIS_STOPS, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] 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] npe/skip_function_with_const_formals.cpp, const_skip2_then_split_case, 5, MEMORY_LEAK, [start of procedure const_skip2_then_split_case(),start of procedure test_pointer(),Condition is true,return from a call to test_pointer,return from a call to const_skip2_then_split_case] npe/skip_function_with_const_formals.cpp, const_skip_then_split_case, 6, MEMORY_LEAK, [start of procedure const_skip_then_split_case(),start of procedure test_pointer(),Condition is true,return from a call to test_pointer,return from a call to const_skip_then_split_case] @@ -49,23 +40,14 @@ numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, [start of procedure min_X_di numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure min_int_div0()] overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, [start of procedure resource_leak(),Condition is false] -shared/attributes/deprecated_hack.cpp, derefFirstArg2_null_deref, 2, ANALYSIS_STOPS, [start of procedure derefFirstArg2_null_deref()] shared/attributes/deprecated_hack.cpp, derefFirstArg2_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg2_null_deref()] -shared/attributes/deprecated_hack.cpp, derefFirstArg3_null_deref, 2, ANALYSIS_STOPS, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] shared/attributes/deprecated_hack.cpp, derefFirstArg3_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] -shared/attributes/deprecated_hack.cpp, derefFirstArg_null_deref, 2, ANALYSIS_STOPS, [start of procedure derefFirstArg_null_deref()] shared/attributes/deprecated_hack.cpp, derefFirstArg_null_deref, 2, NULL_DEREFERENCE, [start of procedure derefFirstArg_null_deref()] -shared/attributes/deprecated_hack.cpp, getPtr_null_deref1, 3, ANALYSIS_STOPS, [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] shared/attributes/deprecated_hack.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] -shared/attributes/deprecated_hack.cpp, getPtr_null_deref2, 3, ANALYSIS_STOPS, [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] shared/attributes/deprecated_hack.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] -shared/attributes/deprecated_hack.cpp, getRef_null_deref1, 3, ANALYSIS_STOPS, [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] shared/attributes/deprecated_hack.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] -shared/attributes/deprecated_hack.cpp, getRef_null_deref2, 3, ANALYSIS_STOPS, [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] shared/attributes/deprecated_hack.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] -shared/attributes/deprecated_hack.cpp, operator_star_null_deref1, 3, ANALYSIS_STOPS, [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] shared/attributes/deprecated_hack.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] -shared/attributes/deprecated_hack.cpp, operator_star_null_deref2, 3, ANALYSIS_STOPS, [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] shared/attributes/deprecated_hack.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] shared/attributes/deprecated_hack.cpp, operator_star_ok_deref, 4, UNINITIALIZED_VALUE, [start of procedure operator_star_ok_deref(),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] 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] @@ -115,7 +97,6 @@ shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY 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()] 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()] 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] -shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, ANALYSIS_STOPS, [start of procedure call_deref_with_null(),start of procedure deref_null()] shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, NULL_DEREFERENCE, [start of procedure call_deref_with_null(),start of procedure deref_null()] 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()] 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()] @@ -138,13 +119,9 @@ shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVID shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, [start of procedure reference_init_div0(),Condition is true] 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] shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, [start of procedure simple_init_div0(),Condition is false] -shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, ANALYSIS_STOPS, [start of procedure simple_init_null_deref(),Condition is false] shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, [start of procedure simple_init_null_deref(),Condition is false] -shared/npe/method_call.cpp, npe_call, 2, ANALYSIS_STOPS, [start of procedure npe_call()] shared/npe/method_call.cpp, npe_call, 2, NULL_DEREFERENCE, [start of procedure npe_call()] -shared/npe/method_call.cpp, npe_call_after_call, 0, ANALYSIS_STOPS, [start of procedure npe_call_after_call(),start of procedure getX(),return from a call to getX] 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] -shared/npe/method_call.cpp, npe_call_with_forward_declaration, 1, ANALYSIS_STOPS, [start of procedure npe_call_with_forward_declaration(),start of procedure call_with_forward_declaration()] 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()] 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] 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] @@ -227,130 +204,83 @@ shared/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, [start of p shared/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] shared/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] shared/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] -smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, ANALYSIS_STOPS, [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] 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] smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_ok, 4, 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,return from a call to deref_after_mode_example::deref_after_move_ok] smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_ok, 3, 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,return from a call to deref_after_mode_example::deref_ok] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_null_f1_deref, 6, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base2_nullptr_deref, 0, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_null_f1_deref, 6, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived1_nullptr_deref, 0, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_null_f1_deref, 6, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived2_nullptr_deref, 0, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_null_f1_deref, 6, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_derived3_nullptr_deref, 0, ANALYSIS_STOPS, [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] 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] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_deref, 2, ANALYSIS_STOPS, [start of procedure shared_ptr::empty_ptr_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref, 2, ANALYSIS_STOPS, [start of procedure shared_ptr::empty_ptr_field_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref2, 2, ANALYSIS_STOPS, [start of procedure shared_ptr::empty_ptr_field_deref2()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_field_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_method_deref, 2, ANALYSIS_STOPS, [start of procedure shared_ptr::empty_ptr_method_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::empty_ptr_method_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::nullptr_ptr_deref, 2, ANALYSIS_STOPS, [start of procedure shared_ptr::nullptr_ptr_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure shared_ptr::nullptr_ptr_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 3, ANALYSIS_STOPS, [start of procedure shared_ptr::reset_ptr_null_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_null_deref2()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 4, ANALYSIS_STOPS, [start of procedure shared_ptr::reset_ptr_null_deref2()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure shared_ptr::reset_ptr_null_deref2()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure shared_ptr::reset_ptr_ok_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref, 4, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref(),return from a call to shared_ptr::reset_ptr_ok_deref] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 4, UNINITIALIZED_VALUE, [start of procedure shared_ptr::reset_ptr_ok_deref2()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::reset_ptr_ok_deref2, 5, MEMORY_LEAK, [start of procedure shared_ptr::reset_ptr_ok_deref2(),return from a call to shared_ptr::reset_ptr_ok_deref2] 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()] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_null_deref, 4, ANALYSIS_STOPS, [start of procedure shared_ptr::shared_ptr_assign_null_deref()] 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()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 5, UNINITIALIZED_VALUE, [start of procedure shared_ptr::shared_ptr_assign_ok_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_assign_ok_deref, 6, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_assign_ok_deref(),return from a call to shared_ptr::shared_ptr_assign_ok_deref] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_null_deref, 3, ANALYSIS_STOPS, [start of procedure shared_ptr::shared_ptr_copy_null_deref()] 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()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure shared_ptr::shared_ptr_copy_ok_deref()] smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_copy_ok_deref, 4, MEMORY_LEAK, [start of procedure shared_ptr::shared_ptr_copy_ok_deref(),return from a call to shared_ptr::shared_ptr_copy_ok_deref] -smart_ptr/shared_ptr_deref.cpp, shared_ptr::shared_ptr_move_null_deref, 3, ANALYSIS_STOPS, [start of procedure shared_ptr::shared_ptr_move_null_deref()] 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()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_array_ptr_deref, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::empty_array_ptr_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_array_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_deref, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::empty_ptr_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::empty_ptr_field_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref2, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::empty_ptr_field_deref2()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_field_deref2, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_field_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_method_deref, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::empty_ptr_method_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::empty_ptr_method_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::empty_ptr_method_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_array_ptr_deref, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::nullptr_array_ptr_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_array_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_array_ptr_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_ptr_deref, 2, ANALYSIS_STOPS, [start of procedure unique_ptr::nullptr_ptr_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::nullptr_ptr_deref, 2, NULL_DEREFERENCE, [start of procedure unique_ptr::nullptr_ptr_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 3, ANALYSIS_STOPS, [start of procedure unique_ptr::reset_ptr_null_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 2, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 3, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_null_deref2()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 4, ANALYSIS_STOPS, [start of procedure unique_ptr::reset_ptr_null_deref2()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_null_deref2, 4, NULL_DEREFERENCE, [start of procedure unique_ptr::reset_ptr_null_deref2()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure unique_ptr::reset_ptr_ok_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref, 4, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref(),return from a call to unique_ptr::reset_ptr_ok_deref] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 4, UNINITIALIZED_VALUE, [start of procedure unique_ptr::reset_ptr_ok_deref2()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::reset_ptr_ok_deref2, 5, MEMORY_LEAK, [start of procedure unique_ptr::reset_ptr_ok_deref2(),return from a call to unique_ptr::reset_ptr_ok_deref2] 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()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_null_deref, 4, ANALYSIS_STOPS, [start of procedure unique_ptr::unique_ptr_assign_null_deref()] 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()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 5, UNINITIALIZED_VALUE, [start of procedure unique_ptr::unique_ptr_assign_ok_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_assign_ok_deref, 6, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_assign_ok_deref(),return from a call to unique_ptr::unique_ptr_assign_ok_deref] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, ANALYSIS_STOPS, [start of procedure unique_ptr::unique_ptr_copy_null_deref()] 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()] -smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, ANALYSIS_STOPS, [start of procedure unique_ptr::unique_ptr_move_null_deref()] 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()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, UNINITIALIZED_VALUE, [start of procedure unique_ptr::unique_ptr_move_ok_deref()] smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 4, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_move_ok_deref(),return from a call to unique_ptr::unique_ptr_move_ok_deref] -subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, ANALYSIS_STOPS, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] 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] 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] 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] 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] 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] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, ANALYSIS_STOPS, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] 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] 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] 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] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, ANALYSIS_STOPS, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] 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] -subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, ANALYSIS_STOPS, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base] 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] 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] -vector/empty_access.cpp, access_empty, 2, ANALYSIS_STOPS, [start of procedure access_empty()] vector/empty_access.cpp, access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure access_empty()] -vector/empty_access.cpp, assign_empty, 4, ANALYSIS_STOPS, [start of procedure assign_empty()] vector/empty_access.cpp, assign_empty, 4, EMPTY_VECTOR_ACCESS, [start of procedure assign_empty()] -vector/empty_access.cpp, clear_empty, 3, ANALYSIS_STOPS, [start of procedure clear_empty()] vector/empty_access.cpp, clear_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure clear_empty()] -vector/empty_access.cpp, copy_empty, 3, ANALYSIS_STOPS, [start of procedure copy_empty()] vector/empty_access.cpp, copy_empty, 3, EMPTY_VECTOR_ACCESS, [start of procedure copy_empty()] -vector/empty_access.cpp, empty_check_access_empty, 2, ANALYSIS_STOPS, [start of procedure empty_check_access_empty(),Condition is true] vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure empty_check_access_empty(),Condition is true] -vector/empty_access.cpp, getter_empty, 0, ANALYSIS_STOPS, [start of procedure getter_empty(),start of procedure get_vector(),return from a call to get_vector] vector/empty_access.cpp, getter_empty, 0, EMPTY_VECTOR_ACCESS, [start of procedure getter_empty(),start of procedure get_vector(),return from a call to get_vector] -vector/empty_access.cpp, size_check0_empty, 2, ANALYSIS_STOPS, [start of procedure size_check0_empty(),Condition is true] vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, [start of procedure size_check0_empty(),Condition is true] -vector/empty_access.cpp, vector_as_param_by_value_empty, 2, ANALYSIS_STOPS, [start of procedure vector_as_param_by_value_empty(),start of procedure vector_param_by_value_access()] 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()] -vector/empty_access.cpp, vector_as_param_clear, 3, ANALYSIS_STOPS, [start of procedure vector_as_param_clear(),start of procedure vector_param_clear(),return from a call to vector_param_clear] 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] -vector/empty_access.cpp, vector_as_param_empty, 2, ANALYSIS_STOPS, [start of procedure vector_as_param_empty(),start of procedure vector_param_access()] 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()] diff --git a/infer/tests/codetoanalyze/java/harness/issues.exp b/infer/tests/codetoanalyze/java/harness/issues.exp index d3c43fca5..432331fc3 100644 --- a/infer/tests/codetoanalyze/java/harness/issues.exp +++ b/infer/tests/codetoanalyze/java/harness/issues.exp @@ -1,2 +1 @@ -BasicHarnessActivity.java, codetoanalyze.java.harness.BasicHarnessActivity.InferGeneratedHarness(), -1, ANALYSIS_STOPS, [start of procedure InferGeneratedHarness(),start of procedure onCreate(...),return from a call to void BasicHarnessActivity.onCreate(Bundle),start of procedure onPause(),return from a call to void BasicHarnessActivity.onPause(),start of procedure onDestroy()] BasicHarnessActivity.java, codetoanalyze.java.harness.BasicHarnessActivity.InferGeneratedHarness(), -1, NULL_DEREFERENCE, [start of procedure InferGeneratedHarness(),start of procedure onCreate(...),return from a call to void BasicHarnessActivity.onCreate(Bundle),start of procedure onPause(),return from a call to void BasicHarnessActivity.onPause(),start of procedure onDestroy()] diff --git a/infer/tests/codetoanalyze/java/infer/issues.exp b/infer/tests/codetoanalyze/java/infer/issues.exp index ea6653016..cbbbe542e 100644 --- a/infer/tests/codetoanalyze/java/infer/issues.exp +++ b/infer/tests/codetoanalyze/java/infer/issues.exp @@ -1,13 +1,10 @@ -AnalysisStops.java, void AnalysisStops.accessPathInCalleeMayCauseFalseNegative(), 3, ANALYSIS_STOPS, [start of procedure accessPathInCalleeMayCauseFalseNegative(),start of procedure accessPathOnParam(...)] AnalysisStops.java, void AnalysisStops.accessPathInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure accessPathInCalleeMayCauseFalseNegative(),start of procedure accessPathOnParam(...)] AnalysisStops.java, void AnalysisStops.callOnCastUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),return from a call to String AnalysisStops.castExternalPreventsSpecInference()] AnalysisStops.java, void AnalysisStops.callOnUndefinedObjMayCauseFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure callOnUndefinedObjMayCauseFalseNegative(),start of procedure retZero(),return from a call to int AnalysisStops$MyObj.retZero()] AnalysisStops.java, void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(), 1, RETURN_VALUE_IGNORED, [start of procedure castFailureOnUndefinedObjMayCauseFalseNegative()] AnalysisStops.java, void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),return from a call to String AnalysisStops.castExternalPreventsSpecInference()] AnalysisStops.java, void AnalysisStops.fieldReadAferCastMayCauseFalseNegative(Iterator), 6, DIVIDE_BY_ZERO, [start of procedure fieldReadAferCastMayCauseFalseNegative(...),Taking true branch] -AnalysisStops.java, void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative(), 3, ANALYSIS_STOPS, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),start of procedure derefParam(...)] AnalysisStops.java, void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),start of procedure derefParam(...)] -AnalysisStops.java, void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(), 3, ANALYSIS_STOPS, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),start of procedure derefParam(...)] AnalysisStops.java, void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(), 3, NULL_DEREFERENCE, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),start of procedure derefParam(...)] AnalysisStops.java, void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure fieldReadOnUndefinedObjMayCauseFalseNegative()] AnalysisStops.java, void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure fieldWriteOnUndefinedObjMayCauseFalseNegative()] @@ -16,7 +13,6 @@ AnalysisStops.java, void AnalysisStops.infiniteMaterializationMayCauseFalseNegat AnalysisStops.java, void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(), 3, DIVIDE_BY_ZERO, [start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Taking true branch] AnalysisStops.java, void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(), 5, DIVIDE_BY_ZERO, [start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Taking false branch] AnalysisStops.java, void AnalysisStops.recursiveAngelicTypesMayCauseFalseNegative(), 4, DIVIDE_BY_ZERO, [start of procedure recursiveAngelicTypesMayCauseFalseNegative()] -AnalysisStops.java, void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative(), 5, ANALYSIS_STOPS, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Taking false branch] AnalysisStops.java, void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative(), 5, NULL_DEREFERENCE, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Taking false branch] AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseCalleeFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero()] AnalysisStops.java, void AnalysisStops.skipPointerDerefMayCauseInterprocFalseNegative(), 2, DIVIDE_BY_ZERO, [start of procedure skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure divideByParam(...)] @@ -25,22 +21,15 @@ AnalysisStops.java, void AnalysisStops.specInferenceMayFailAndCauseFalseNegative AnalysisStops.java, void AnalysisStops.specInferenceMayFailAndCauseFalseNegative(boolean,Iterator), 3, RETURN_VALUE_IGNORED, [start of procedure specInferenceMayFailAndCauseFalseNegative(...),start of procedure skipPointerDerefMayCauseLocalFalseNegative(),return from a call to void AnalysisStops.skipPointerDerefMayCauseLocalFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetObj(),return from a call to Object AnalysisStops.skipPointerDerefPreventsSpecInferenceRetObj()] AnalysisStops.java, void AnalysisStops.specInferenceMayFailAndCauseFalseNegative(boolean,Iterator), 26, DIVIDE_BY_ZERO, [start of procedure specInferenceMayFailAndCauseFalseNegative(...),start of procedure skipPointerDerefMayCauseLocalFalseNegative(),return from a call to void AnalysisStops.skipPointerDerefMayCauseLocalFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetObj(),return from a call to Object AnalysisStops.skipPointerDerefPreventsSpecInferenceRetObj(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),start of procedure skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to int AnalysisStops.skipPointerDerefPreventsSpecInferenceRetZero(),return from a call to void AnalysisStops.skipPointerDerefMayCauseCalleeFalseNegative(),start of procedure skipPointerDerefMayCauseInterprocFalseNegative(),start of procedure skipPointerDerefPreventsSpecInferenceRetZero(),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(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),return from a call to void AnalysisStops.castFailureOnUndefinedObjMayCauseFalseNegative(),start of procedure callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure castExternalPreventsSpecInference(),return from a call to String AnalysisStops.castExternalPreventsSpecInference(),return from a call to void AnalysisStops.callOnCastUndefinedObjMayCauseFalseNegative(),start of procedure callOnUndefinedObjMayCauseFalseNegative(),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(),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(),return from a call to void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalseNegative(),start of procedure fieldWriteOnUndefinedObjMayCauseFalsePositive(),return from a call to void AnalysisStops.fieldWriteOnUndefinedObjMayCauseFalsePositive(),start of procedure fieldReadOnUndefinedObjMayCauseFalseNegative(),return from a call to void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalseNegative(),start of procedure fieldReadOnUndefinedObjMayCauseFalsePositive(),return from a call to void AnalysisStops.fieldReadOnUndefinedObjMayCauseFalsePositive(),start of procedure infiniteMaterializationMayCauseFalseNegative(...),Taking false branch,return from a call to void AnalysisStops.infiniteMaterializationMayCauseFalseNegative(boolean),start of procedure infiniteMaterializationMayCauseFalsePositive(...),Taking false branch,return from a call to void AnalysisStops.infiniteMaterializationMayCauseFalsePositive(boolean),start of procedure primitiveFieldOfAngelicObjMayCauseFalsePositive(),Taking false branch,return from a call to void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalsePositive(),start of procedure primitiveFieldOfAngelicObjMayCauseFalseNegative(),Taking true branch,return from a call to void AnalysisStops.primitiveFieldOfAngelicObjMayCauseFalseNegative(),start of procedure heapFieldOfAngelicObjMayCauseFalsePositive(),Taking false branch,return from a call to void AnalysisStops.heapFieldOfAngelicObjMayCauseFalsePositive(),start of procedure heapFieldOfAngelicObjMayCauseFalseNegative(),Taking true branch,return from a call to void AnalysisStops.heapFieldOfAngelicObjMayCauseFalseNegative(),start of procedure fieldReadAferCastMayCauseFalseNegative(...),Taking true branch,return from a call to void AnalysisStops.fieldReadAferCastMayCauseFalseNegative(Iterator),start of procedure fieldReadInCalleeMayCauseFalsePositive(),start of procedure derefParam(...),return from a call to void AnalysisStops.derefParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.fieldReadInCalleeMayCauseFalsePositive(),start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalsePositive(),start of procedure derefParam(...),return from a call to void AnalysisStops.derefParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalsePositive(),start of procedure accessPathInCalleeMayCauseFalsePositive(),start of procedure accessPathOnParam(...),return from a call to void AnalysisStops.accessPathOnParam(AnalysisStops$MyObj),return from a call to void AnalysisStops.accessPathInCalleeMayCauseFalsePositive()] ArrayOutOfBounds.java, int ArrayOutOfBounds.arrayOutOfBounds(), 2, ARRAY_OUT_OF_BOUNDS_L1, [start of procedure arrayOutOfBounds()] -Builtins.java, void Builtins.causeError(Object), 2, ANALYSIS_STOPS, [start of procedure causeError(...),Taking true branch] Builtins.java, void Builtins.causeError(Object), 2, NULL_DEREFERENCE, [start of procedure causeError(...),Taking true branch] -Builtins.java, void Builtins.doNotBlockError(Object), 3, ANALYSIS_STOPS, [start of procedure doNotBlockError(...),Taking true branch] Builtins.java, void Builtins.doNotBlockError(Object), 3, NULL_DEREFERENCE, [start of procedure doNotBlockError(...),Taking true branch] -ClassCastExceptions.java, int ClassCastExceptions.classCastExceptionImplementsInterface(), 0, ANALYSIS_STOPS, [start of procedure classCastExceptionImplementsInterface(),start of procedure AnotherImplementationOfInterface(),return from a call to AnotherImplementationOfInterface.()] ClassCastExceptions.java, int ClassCastExceptions.classCastExceptionImplementsInterface(), 0, CLASS_CAST_EXCEPTION, [start of procedure classCastExceptionImplementsInterface(),start of procedure AnotherImplementationOfInterface(),return from a call to AnotherImplementationOfInterface.()] -ClassCastExceptions.java, void ClassCastExceptions.classCastException(), 2, ANALYSIS_STOPS, [start of procedure classCastException(),start of procedure SubClassA(),start of procedure SuperClass(),return from a call to SuperClass.(),return from a call to SubClassA.()] 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.()] CloseableAsResourceExample.java, T CloseableAsResourceExample.sourceOfNullWithResourceLeak(), 1, RESOURCE_LEAK, [start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.()] -CloseableAsResourceExample.java, void CloseableAsResourceExample.closingWithCloseQuietly(), 7, ANALYSIS_STOPS, [start of procedure closingWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Taking false branch,return from a call to void SomeResource.doSomething()] CloseableAsResourceExample.java, void CloseableAsResourceExample.closingWithCloseQuietly(), 7, CLASS_CAST_EXCEPTION, [start of procedure closingWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),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(),Switch condition is true. Entering switch case] -CloseableAsResourceExample.java, void CloseableAsResourceExample.failToCloseWithCloseQuietly(), 4, ANALYSIS_STOPS, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Taking false branch,return from a call to void SomeResource.doSomething()] CloseableAsResourceExample.java, void CloseableAsResourceExample.failToCloseWithCloseQuietly(), 4, CLASS_CAST_EXCEPTION, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Taking false branch,return from a call to void SomeResource.doSomething()] 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(),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()] 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)] -CloseableAsResourceExample.java, void CloseableAsResourceExample.noLeakWithCloseQuietlyAndExceptionOnClose(), 2, ANALYSIS_STOPS, [start of procedure noLeakWithCloseQuietlyAndExceptionOnClose(),start of procedure ResourceWithException(),return from a call to ResourceWithException.()] CloseableAsResourceExample.java, void CloseableAsResourceExample.noLeakWithCloseQuietlyAndExceptionOnClose(), 2, CLASS_CAST_EXCEPTION, [start of procedure noLeakWithCloseQuietlyAndExceptionOnClose(),start of procedure ResourceWithException(),return from a call to ResourceWithException.()] CloseableAsResourceExample.java, void CloseableAsResourceExample.notClosingCloseable(), 1, RESOURCE_LEAK, [start of procedure notClosingCloseable(),start of procedure SomeResource(),return from a call to SomeResource.()] 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()] @@ -64,11 +53,8 @@ CursorLeaks.java, void CursorLeaks.queryUVMLegacyDbNotClosed(), 4, RETURN_VALUE_ DivideByZero.java, int DivideByZero.callDivideByZeroInterProc(), 1, DIVIDE_BY_ZERO, [start of procedure callDivideByZeroInterProc(),start of procedure divideByZeroInterProc(...)] DivideByZero.java, int DivideByZero.divByZeroLocal(String), 3, DIVIDE_BY_ZERO, [start of procedure divByZeroLocal(...)] 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(...)] -DynamicDispatch.java, void DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy(), 3, ANALYSIS_STOPS, [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()] 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()] -DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy(), 3, ANALYSIS_STOPS, [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()] 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()] -DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Interface), 2, ANALYSIS_STOPS, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] DynamicDispatch.java, void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Interface), 2, NULL_DEREFERENCE, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] FilterInputStreamLeaks.java, void FilterInputStreamLeaks.bufferedInputStreamClosedAfterReset(), 9, NULL_TEST_AFTER_DEREFERENCE, [start of procedure bufferedInputStreamClosedAfterReset(),exception java.io.IOException,Switch condition is true. Entering switch case,Taking false branch] FilterInputStreamLeaks.java, void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead(), 5, RETURN_VALUE_IGNORED, [start of procedure bufferedInputStreamNotClosedAfterRead()] @@ -158,79 +144,48 @@ HashMapExample.java, void HashMapExample.putIntegerTwiceThenGetTwice(HashMap), 6 HashMapExample.java, void HashMapExample.putIntegerTwiceThenGetTwice(HashMap), 7, RETURN_VALUE_IGNORED, [start of procedure putIntegerTwiceThenGetTwice(...)] HashMapExample.java, void HashMapExample.putIntegerTwiceThenGetTwice(HashMap), 12, RETURN_VALUE_IGNORED, [start of procedure putIntegerTwiceThenGetTwice(...)] HashMapExample.java, void HashMapExample.putIntegerTwiceThenGetTwice(HashMap), 13, RETURN_VALUE_IGNORED, [start of procedure putIntegerTwiceThenGetTwice(...)] -InvokeDynamic.java, int InvokeDynamic.lambda$npeInLambdaBad$1(String,String), 1, ANALYSIS_STOPS, [start of procedure lambda$npeInLambdaBad$1(...)] InvokeDynamic.java, int InvokeDynamic.lambda$npeInLambdaBad$1(String,String), 1, NULL_DEREFERENCE, [start of procedure lambda$npeInLambdaBad$1(...)] -InvokeDynamic.java, void InvokeDynamic.invokeDynamicThenNpeBad(List), 5, ANALYSIS_STOPS, [start of procedure invokeDynamicThenNpeBad(...)] InvokeDynamic.java, void InvokeDynamic.invokeDynamicThenNpeBad(List), 5, NULL_DEREFERENCE, [start of procedure invokeDynamicThenNpeBad(...)] JunitAssertion.java, void JunitAssertion.consistentAssertion(JunitAssertion$A), 1, PRECONDITION_NOT_MET, [start of procedure consistentAssertion(...),Taking false branch] -JunitAssertion.java, void JunitAssertion.inconsistentAssertion(JunitAssertion$A), 2, ANALYSIS_STOPS, [start of procedure inconsistentAssertion(...),Taking false branch] JunitAssertion.java, void JunitAssertion.inconsistentAssertion(JunitAssertion$A), 2, NULL_DEREFERENCE, [start of procedure inconsistentAssertion(...),Taking false branch] NullPointerExceptions.java, String NullPointerExceptions.hashmapNPE(HashMap,Object), 1, NULL_DEREFERENCE, [start of procedure hashmapNPE(...)] NullPointerExceptions.java, String NullPointerExceptions.nullTryLock(FileChannel), 2, NULL_DEREFERENCE, [start of procedure nullTryLock(...)] -NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, ANALYSIS_STOPS, [start of procedure testSystemGetPropertyArgument()] NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyArgument()] -NullPointerExceptions.java, String NullPointerExceptions.tryLockThrows(FileChannel), 6, ANALYSIS_STOPS, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] NullPointerExceptions.java, String NullPointerExceptions.tryLockThrows(FileChannel), 6, NULL_DEREFERENCE, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] NullPointerExceptions.java, int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int), 1, NULL_DEREFERENCE, [start of procedure NPEvalueOfFromHashmapBad(...)] NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, NULL_DEREFERENCE, [start of procedure nullListFiles(...)] -NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, ANALYSIS_STOPS, [start of procedure nullPointerException()] NullPointerExceptions.java, int NullPointerExceptions.nullPointerException(), 2, NULL_DEREFERENCE, [start of procedure nullPointerException()] -NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionInterProc(), 2, ANALYSIS_STOPS, [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)] 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)] -NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithAChainOfFields(NullPointerExceptions$C), 2, ANALYSIS_STOPS, [start of procedure nullPointerExceptionWithAChainOfFields(...),start of procedure NullPointerExceptions$B(...),return from a call to NullPointerExceptions$B.(NullPointerExceptions)] 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)] -NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithArray(), 3, ANALYSIS_STOPS, [start of procedure nullPointerExceptionWithArray()] NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithArray(), 3, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithArray()] -NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, ANALYSIS_STOPS, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] NullPointerExceptions.java, int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean), 5, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] NullPointerExceptions.java, int NullPointerExceptions.preconditionCheckStateTest(NullPointerExceptions$D), 1, PRECONDITION_NOT_MET, [start of procedure preconditionCheckStateTest(...),Taking false branch] -NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 2, ANALYSIS_STOPS, [start of procedure npeWithDollars()] NullPointerExceptions.java, void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars(), 2, NULL_DEREFERENCE, [start of procedure npeWithDollars()] NullPointerExceptions.java, void NullPointerExceptions.badCheckShouldCauseNPE(), 1, NULL_DEREFERENCE, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Taking false branch,return from a call to Object NullPointerExceptions.getObj()] NullPointerExceptions.java, void NullPointerExceptions.cursorFromContentResolverNPE(String), 9, NULL_DEREFERENCE, [start of procedure cursorFromContentResolverNPE(...)] -NullPointerExceptions.java, void NullPointerExceptions.derefNull(), 2, ANALYSIS_STOPS, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),return from a call to Object NullPointerExceptions.retUndefined(),return from a call to Object NullPointerExceptions.derefUndefinedCallee()] 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(),return from a call to Object NullPointerExceptions.derefUndefinedCallee()] -NullPointerExceptions.java, void NullPointerExceptions.derefNullableGetter(), 2, ANALYSIS_STOPS, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] NullPointerExceptions.java, void NullPointerExceptions.derefNullableGetter(), 2, NULL_DEREFERENCE, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] 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)] -NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRet(), 2, ANALYSIS_STOPS, [start of procedure derefUndefNullableRet()] NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRet(), 2, NULL_DEREFERENCE, [start of procedure derefUndefNullableRet()] -NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 1, ANALYSIS_STOPS, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] NullPointerExceptions.java, void NullPointerExceptions.derefUndefNullableRetWrapper(), 1, NULL_DEREFERENCE, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] -NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 2, ANALYSIS_STOPS, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L), 2, NULL_DEREFERENCE, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] -NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 4, ANALYSIS_STOPS, [start of procedure dereferenceAfterUnlock1(...)] NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock1(Lock), 4, NULL_DEREFERENCE, [start of procedure dereferenceAfterUnlock1(...)] -NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 6, ANALYSIS_STOPS, [start of procedure dereferenceAfterUnlock2(...)] NullPointerExceptions.java, void NullPointerExceptions.dereferenceAfterUnlock2(Lock), 6, NULL_DEREFERENCE, [start of procedure dereferenceAfterUnlock2(...)] NullPointerExceptions.java, void NullPointerExceptions.noNullPointerExceptionAfterSkipFunction(), 4, RETURN_VALUE_IGNORED, [start of procedure noNullPointerExceptionAfterSkipFunction(),start of procedure genericMethodSomewhereCheckingForNull(...),Taking false branch,return from a call to void NullPointerExceptions.genericMethodSomewhereCheckingForNull(String)] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 2, ANALYSIS_STOPS, [start of procedure nullPointerExceptionArrayLength()] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionArrayLength(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionArrayLength()] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, ANALYSIS_STOPS, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod(), 2, NULL_DEREFERENCE, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 7, ANALYSIS_STOPS, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor(), 7, NULL_DEREFERENCE, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 6, ANALYSIS_STOPS, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor(), 6, NULL_DEREFERENCE, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]), 3, ANALYSIS_STOPS, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]), 3, NULL_DEREFERENCE, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionUnlessFrameFails(), 4, ANALYSIS_STOPS, [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(...),return from a call to Object NullPointerExceptions.id_generics(Object),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] 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(...),return from a call to Object NullPointerExceptions.id_generics(Object),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 1, ANALYSIS_STOPS, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...)] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter(), 1, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...)] -NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 1, ANALYSIS_STOPS, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] NullPointerExceptions.java, void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter(), 1, NULL_DEREFERENCE, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] -NullPointerExceptions.java, void NullPointerExceptions.nullableFieldNPE(), 1, ANALYSIS_STOPS, [start of procedure nullableFieldNPE()] NullPointerExceptions.java, void NullPointerExceptions.nullableFieldNPE(), 1, NULL_DEREFERENCE, [start of procedure nullableFieldNPE()] NullPointerExceptions.java, void NullPointerExceptions.nullableNonNullStringAfterTextUtilsIsEmptyCheckShouldNotCauseNPE(String), 2, RETURN_VALUE_IGNORED, [start of procedure nullableNonNullStringAfterTextUtilsIsEmptyCheckShouldNotCauseNPE(...),Taking true branch] -NullPointerExceptions.java, void NullPointerExceptions.nullableParamNPE(Object), 1, ANALYSIS_STOPS, [start of procedure nullableParamNPE(...)] NullPointerExceptions.java, void NullPointerExceptions.nullableParamNPE(Object), 1, NULL_DEREFERENCE, [start of procedure nullableParamNPE(...)] -NullPointerExceptions.java, void NullPointerExceptions.optionalNPE(Optional), 1, ANALYSIS_STOPS, [start of procedure optionalNPE(...)] NullPointerExceptions.java, void NullPointerExceptions.optionalNPE(Optional), 1, NULL_DEREFERENCE, [start of procedure optionalNPE(...)] -NullPointerExceptions.java, void NullPointerExceptions.someNPEAfterResourceLeak(), 2, ANALYSIS_STOPS, [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()] 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()] NullPointerExceptions.java, void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP(), 10, NULL_DEREFERENCE, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking false branch] -NullPointerExceptions.java, void NullPointerExceptions.stringVarEqualsFalseNPE(), 5, ANALYSIS_STOPS, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Taking true branch] NullPointerExceptions.java, void NullPointerExceptions.stringVarEqualsFalseNPE(), 5, NULL_DEREFERENCE, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Taking true branch] NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 2, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyReturn()] NullPointerExceptions.java, void NullPointerExceptions.testSystemGetPropertyReturn(), 2, RETURN_VALUE_IGNORED, [start of procedure testSystemGetPropertyReturn()] @@ -269,7 +224,6 @@ ResourceLeaks.java, int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean), 6, RES ResourceLeaks.java, int ResourceLeaks.readConfigNotCloseStream(String), 5, RESOURCE_LEAK, [start of procedure readConfigNotCloseStream(...)] ResourceLeaks.java, void ResourceLeaks.NoResourceLeakWarningAfterCheckState(File,int), 2, PRECONDITION_NOT_MET, [start of procedure NoResourceLeakWarningAfterCheckState(...),Taking false branch] 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(Object)] -ResourceLeaks.java, void ResourceLeaks.closeWithCloseablesNestedAlloc(), 5, ANALYSIS_STOPS, [start of procedure closeWithCloseablesNestedAlloc()] ResourceLeaks.java, void ResourceLeaks.closeWithCloseablesNestedAlloc(), 5, CLASS_CAST_EXCEPTION, [start of procedure closeWithCloseablesNestedAlloc()] ResourceLeaks.java, void ResourceLeaks.closedQuietlyWithCloseables(), 3, RETURN_VALUE_IGNORED, [start of procedure closedQuietlyWithCloseables()] ResourceLeaks.java, void ResourceLeaks.closedWithCloseables(), 3, RETURN_VALUE_IGNORED, [start of procedure closedWithCloseables()] diff --git a/infer/tests/codetoanalyze/java/tracing/issues.exp b/infer/tests/codetoanalyze/java/tracing/issues.exp index 2089f2d99..6f619c89d 100644 --- a/infer/tests/codetoanalyze/java/tracing/issues.exp +++ b/infer/tests/codetoanalyze/java/tracing/issues.exp @@ -21,7 +21,6 @@ NullPointerExceptionExample.java, void NullPointerExceptionExample.callDeref(T2, 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()] 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)] 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)] -NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, ANALYSIS_STOPS, [start of procedure testSystemGetPropertyArgument()] NullPointerExceptions.java, String NullPointerExceptions.testSystemGetPropertyArgument(), 1, NULL_DEREFERENCE, [start of procedure testSystemGetPropertyArgument()] NullPointerExceptions.java, int NullPointerExceptions.nullListFiles(String), 3, java.lang.NullPointerException, [start of procedure nullListFiles(...),Taking true branch,exception java.lang.NullPointerException,return from a call to int NullPointerExceptions.nullListFiles(String)] 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()] diff --git a/infer/tests/codetoanalyze/objc/errors/issues.exp b/infer/tests/codetoanalyze/objc/errors/issues.exp index 42d635059..4beaba9a8 100644 --- a/infer/tests/codetoanalyze/objc/errors/issues.exp +++ b/infer/tests/codetoanalyze/objc/errors/issues.exp @@ -6,7 +6,6 @@ memory_leaks_benchmark/RetainCycleStaticVar.m, RetainCSVycleStaticVar, 2, RETAIN npe/blockenum.m, BlockEnumA_allResultsList:, 1, MEMORY_LEAK, [start of procedure allResultsList:] npe/blockenum.m, BlockEnumA_foo1:, 2, MEMORY_LEAK, [start of procedure foo1:] npe/nil_param.m, NilParamMain, 4, MEMORY_LEAK, [start of procedure NilParamMain(),start of procedure test1:,Message test2 with receiver nil returns nil.,return from a call to NilParamA_test1:] -npe/null_returned_by_method.m, NullReturnedByMethodA_test1, 1, ANALYSIS_STOPS, [start of procedure test1,start of procedure test,return from a call to NullReturnedByMethodA_test] 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] procdescs/main.c, ProcdescMain, 2, MEMORY_LEAK, [start of procedure ProcdescMain()] procdescs/main.c, ProcdescMain, 3, MEMORY_LEAK, [start of procedure ProcdescMain()] @@ -21,19 +20,14 @@ shared/assertions/NSAssert_example.m, test1, 1, MEMORY_LEAK, [start of procedure shared/assertions/NSAssert_example.m, test1, 1, MEMORY_LEAK, [start of procedure test1(),Condition is false,Condition is true,Condition is true] shared/assertions/NSAssert_example.m, test2, 1, MEMORY_LEAK, [start of procedure test2(),Condition is false,Condition is true,Condition is true] shared/assertions/NSAssert_example.m, test2, 1, MEMORY_LEAK, [start of procedure test2(),Condition is false,Condition is true,Condition is true,Condition is true] -shared/block/BlockVar.m, BlockVar_blockPostBad, 5, ANALYSIS_STOPS, [start of procedure blockPostBad,start of procedure block,return from a call to __objc_anonymous_block_BlockVar_blockPostBad______2] shared/block/BlockVar.m, BlockVar_blockPostBad, 5, NULL_DEREFERENCE, [start of procedure blockPostBad,start of procedure block,return from a call to __objc_anonymous_block_BlockVar_blockPostBad______2] -shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, ANALYSIS_STOPS, [start of procedure capturedNullDeref,start of procedure block] shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, NULL_DEREFERENCE, [start of procedure capturedNullDeref,start of procedure block] -shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, ANALYSIS_STOPS, [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_anonymous_block_BlockVar_navigateToURLInBackground______1,Condition is true] 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_anonymous_block_BlockVar_navigateToURLInBackground______1,Condition is true] 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_anonymous_block___objc_anonymous_block_main1______2______3,return from a call to __objc_anonymous_block_main1______2,start of procedure block,return from a call to __objc_anonymous_block_main1______1] -shared/block/block_no_args.m, My_manager_m, 10, ANALYSIS_STOPS, [start of procedure m,start of procedure block,return from a call to __objc_anonymous_block_My_manager_m______1,Condition is true] 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_anonymous_block_My_manager_m______1,Condition is true] shared/block/block_release.m, My_manager_blockReleaseTODO, 5, MEMORY_LEAK, [start of procedure blockReleaseTODO] shared/category_procdesc/main.c, CategoryProcdescMain, 2, MEMORY_LEAK, [start of procedure CategoryProcdescMain()] shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, [start of procedure CategoryProcdescMain()] -shared/field_superclass/SuperExample.m, ASuper_init, 2, ANALYSIS_STOPS, [start of procedure init,start of procedure init,return from a call to BSuper_init] 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] shared/field_superclass/SuperExample.m, super_example_main, 2, MEMORY_LEAK, [start of procedure super_example_main()] shared/memory_leaks_benchmark/RetainReleaseExample2.m, test3, 0, MEMORY_LEAK, [start of procedure test3(),start of procedure retain_release2_test(),start of procedure init,return from a call to RR2_init,return from a call to retain_release2_test] @@ -46,7 +40,6 @@ warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackChai warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackField, 2, IVAR_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackField,Message recordState with receiver nil returns nil.] warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimple:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimple:,Message recordState with receiver nil returns nil.] warnings/ParameterNotNullableExample.m, FBAudioRecorder_FBAudioInputCallbackSimpleAliasing:, 3, PARAMETER_NOT_NULL_CHECKED, [start of procedure FBAudioInputCallbackSimpleAliasing:,Message recordState with receiver nil returns nil.] -warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, ANALYSIS_STOPS, [start of procedure test,Message recordState with receiver nil returns nil.] warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, NULL_DEREFERENCE, [start of procedure test,Message recordState with receiver nil returns nil.] 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] 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] @@ -57,63 +50,36 @@ initialization/struct_initlistexpr.c, point_coords_set_correctly, 2, DIVIDE_BY_Z memory_leaks_benchmark/RetainReleaseExampleBucketingArc.m, RetainReleaseArcTest, 0, RETURN_VALUE_IGNORED, [start of procedure RetainReleaseArcTest()] memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, [start of procedure strongcycle()] 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:] -npe/UpdateDict.m, add_nil_in_dict, 10, ANALYSIS_STOPS, [start of procedure add_nil_in_dict()] npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, [start of procedure add_nil_in_dict()] -npe/UpdateDict.m, add_nil_to_array, 4, ANALYSIS_STOPS, [start of procedure add_nil_to_array()] npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, [start of procedure add_nil_to_array()] -npe/UpdateDict.m, insert_nil_in_array, 4, ANALYSIS_STOPS, [start of procedure insert_nil_in_array()] npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, [start of procedure insert_nil_in_array()] -npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, ANALYSIS_STOPS, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true] npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true] -npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, ANALYSIS_STOPS, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true] npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true] -npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, ANALYSIS_STOPS, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true] npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true] -npe/UpdateDict.m, update_array_with_null, 5, ANALYSIS_STOPS, [start of procedure update_array_with_null()] npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, [start of procedure update_array_with_null()] -npe/UpdateDict.m, update_dict_with_key_null, 10, ANALYSIS_STOPS, [start of procedure update_dict_with_key_null()] npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, [start of procedure update_dict_with_key_null()] -npe/WeakCapturedVarsNPE.m, __objc_anonymous_block_WeakCapturedA_strongSelfNoCheck______2, 2, ANALYSIS_STOPS, [start of procedure block] npe/WeakCapturedVarsNPE.m, __objc_anonymous_block_WeakCapturedA_strongSelfNoCheck______2, 2, NULL_DEREFERENCE, [start of procedure block] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral0, 4, ANALYSIS_STOPS, [start of procedure nilInArrayLiteral0] npe/nil_in_array_literal.m, Arr_nilInArrayLiteral0, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral0] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral1, 4, ANALYSIS_STOPS, [start of procedure nilInArrayLiteral1] npe/nil_in_array_literal.m, Arr_nilInArrayLiteral1, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral1] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral2, 4, ANALYSIS_STOPS, [start of procedure nilInArrayLiteral2] npe/nil_in_array_literal.m, Arr_nilInArrayLiteral2, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral2] -npe/nil_in_array_literal.m, Arr_nilInArrayLiteral3, 4, ANALYSIS_STOPS, [start of procedure nilInArrayLiteral3] npe/nil_in_array_literal.m, Arr_nilInArrayLiteral3, 4, NULL_DEREFERENCE, [start of procedure nilInArrayLiteral3] -npe/nil_in_array_literal.m, Arr_nilInArrayWithObject, 4, ANALYSIS_STOPS, [start of procedure nilInArrayWithObject] npe/nil_in_array_literal.m, Arr_nilInArrayWithObject, 4, NULL_DEREFERENCE, [start of procedure nilInArrayWithObject] npe/nil_in_array_literal.m, Arr_noProblem, 3, UNINITIALIZED_VALUE, [start of procedure noProblem] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey0, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralKey0] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey0] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey1, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralKey1] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey1] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey2, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralKey2] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey2] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey3, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralKey3] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralKey3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralKey3] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue0, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralValue0] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue0, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue0] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue1, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralValue1] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue1, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue1] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue2, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralValue2] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue2, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue2] -npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, ANALYSIS_STOPS, [start of procedure nilInDictionaryLiteralValue3] npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, [start of procedure nilInDictionaryLiteralValue3] npe/nil_in_dictionary_literal.m, ADict_noProblem, 3, UNINITIALIZED_VALUE, [start of procedure noProblem] 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] npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, [start of procedure test,Condition is false] -npe/nullable.m, derefNullableParamDirect, 0, ANALYSIS_STOPS, [start of procedure derefNullableParamDirect()] npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, [start of procedure derefNullableParamDirect()] -npe/nullable.m, derefNullableParamIndirect, 2, ANALYSIS_STOPS, [start of procedure derefNullableParamIndirect()] npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, [start of procedure derefNullableParamIndirect()] -npe/nullable.m, parameter_nullable_bug, 5, ANALYSIS_STOPS, [start of procedure parameter_nullable_bug()] npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, [start of procedure parameter_nullable_bug()] -property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, ANALYSIS_STOPS, [start of procedure testDefaultName,Condition is true] property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, [start of procedure testDefaultName,Condition is true] -property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, ANALYSIS_STOPS, [start of procedure testExplicit,Condition is true] property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, [start of procedure testExplicit,Condition is true] shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample_brideRetained, 2, MEMORY_LEAK, [start of procedure brideRetained] shared/memory_leaks_benchmark/TollBridgeExample.m, TollBridgeExample_bridge, 2, MEMORY_LEAK, [start of procedure bridge] @@ -121,37 +87,23 @@ shared/memory_leaks_benchmark/TollBridgeExample.m, bridgeDictionaryNoLeak, 1, UN 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:] 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] 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] -variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, ANALYSIS_STOPS, [start of procedure nilInArrayWithObjects] variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, [start of procedure nilInArrayWithObjects] -memory_leaks_benchmark/FBViewExample.m, FBV_main, 2, ANALYSIS_STOPS, [start of procedure main,start of procedure headerView,Condition is false,return from a call to FBV_headerView] memory_leaks_benchmark/FBViewExample.m, FBV_main, 2, PRECONDITION_NOT_MET, [start of procedure main,start of procedure headerView,Condition is false,return from a call to FBV_headerView] memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, StringInitA_macForIV:, 2, MEMORY_LEAK, [start of procedure macForIV:] -memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 6, ANALYSIS_STOPS, [start of procedure createURLQueryStringBodyEscaping(),Condition is true] memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 6, PRECONDITION_NOT_MET, [start of procedure createURLQueryStringBodyEscaping(),Condition is true] memory_leaks_benchmark/NSStringInitWithBytesNoCopyExample.m, createURLQueryStringBodyEscaping, 11, UNINITIALIZED_VALUE, [start of procedure createURLQueryStringBodyEscaping(),Condition is false] memory_leaks_benchmark/RetainReleaseExampleBucketing.m, RetainReleaseTest, 0, RETURN_VALUE_IGNORED, [start of procedure RetainReleaseTest()] -npe/Fraction.m, test_virtual_call, 7, ANALYSIS_STOPS, [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] 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] -npe/NPD_core_foundation.m, NullDeref_createCloseCrossGlyphNoLeak:, 5, ANALYSIS_STOPS, [start of procedure createCloseCrossGlyphNoLeak:] npe/NPD_core_foundation.m, NullDeref_createCloseCrossGlyphNoLeak:, 5, Assert_failure, [start of procedure createCloseCrossGlyphNoLeak:] -npe/NPD_core_foundation.m, NullDeref_layoutSubviews, 4, ANALYSIS_STOPS, [start of procedure layoutSubviews] npe/NPD_core_foundation.m, NullDeref_layoutSubviews, 4, Assert_failure, [start of procedure layoutSubviews] -npe/NPD_core_foundation.m, NullDeref_measureFrameSizeForTextNoLeak, 4, ANALYSIS_STOPS, [start of procedure measureFrameSizeForTextNoLeak,Condition is true] npe/NPD_core_foundation.m, NullDeref_measureFrameSizeForTextNoLeak, 4, Assert_failure, [start of procedure measureFrameSizeForTextNoLeak,Condition is true] -npe/Npe_with_equal_names.m, EqualNamesTest, 3, ANALYSIS_STOPS, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA_meth] 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] npe/Npe_with_equal_names.m, EqualNamesTest2, 2, UNINITIALIZED_VALUE, [start of procedure EqualNamesTest2(),start of procedure meth,return from a call to EqualNamesA_meth] -npe/block.m, BlockA_doSomethingThenCallback:, 2, ANALYSIS_STOPS, [start of procedure doSomethingThenCallback:] npe/block.m, BlockA_doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, [start of procedure doSomethingThenCallback:] -npe/block.m, BlockA_foo, 5, ANALYSIS_STOPS, [start of procedure foo] npe/block.m, BlockA_foo, 5, NULL_DEREFERENCE, [start of procedure foo] -npe/block.m, BlockA_foo3:, 3, ANALYSIS_STOPS, [start of procedure foo3:] npe/block.m, BlockA_foo3:, 3, NULL_DEREFERENCE, [start of procedure foo3:] -npe/block.m, BlockA_foo4:, 6, ANALYSIS_STOPS, [start of procedure foo4:] npe/block.m, BlockA_foo4:, 6, NULL_DEREFERENCE, [start of procedure foo4:] -npe/block.m, BlockA_foo7, 2, ANALYSIS_STOPS, [start of procedure foo7] npe/block.m, BlockA_foo7, 2, IVAR_NOT_NULL_CHECKED, [start of procedure foo7] -npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, ANALYSIS_STOPS, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Condition is false] 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] property/main.c, property_main, 3, MEMORY_LEAK, [start of procedure property_main()] shared/block/block-it.m, __objc_anonymous_block_MyBlock_array______1, 5, UNINITIALIZED_VALUE, [start of procedure block,Condition is false] @@ -160,10 +112,8 @@ shared/block/dispatch.m, DispatchA_dispatch_a_block_variable_from_macro_delivers shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockCapturedVarLeak, 3, MEMORY_LEAK, [start of procedure blockCapturedVarLeak] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_blockFreeNoLeakTODO, 3, MEMORY_LEAK, [start of procedure blockFreeNoLeakTODO] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyph:, 2, MEMORY_LEAK, [start of procedure createCloseCrossGlyph:] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyphNoLeak:, 5, ANALYSIS_STOPS, [start of procedure createCloseCrossGlyphNoLeak:] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_createCloseCrossGlyphNoLeak:, 5, Assert_failure, [start of procedure createCloseCrossGlyphNoLeak:] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForText, 1, MEMORY_LEAK, [start of procedure measureFrameSizeForText] -shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForTextNoLeak, 3, ANALYSIS_STOPS, [start of procedure measureFrameSizeForTextNoLeak] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_measureFrameSizeForTextNoLeak, 3, Assert_failure, [start of procedure measureFrameSizeForTextNoLeak] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_regularLeak, 3, MEMORY_LEAK, [start of procedure regularLeak] shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test, 3, MEMORY_LEAK, [start of procedure test]