File tree Expand file tree Collapse file tree 3 files changed +10
-10
lines changed
goto-harness/pointer-to-array-function-parameters-with-size Expand file tree Collapse file tree 3 files changed +10
-10
lines changed Original file line number Diff line number Diff line change 88^\[main.pointer_dereference.3\] .* dereference failure: pointer outside object bounds in \*q: SUCCESS$
99^\[main.pointer_dereference.4\] .* dereference failure: deallocated dynamic object in \*r: SUCCESS$
1010^\[main.pointer_dereference.5\] .* dereference failure: pointer outside dynamic object bounds in \*r: SUCCESS$
11- ^\[main.pointer_dereference.6\] .* dereference failure: pointer invalid in \*s: FAILURE$
12- ^\[main.pointer_dereference.7\] .* dereference failure: pointer NULL in \*s: FAILURE$
11+ ^\[main.pointer_dereference.6\] .* dereference failure: pointer NULL in \*s: FAILURE$
12+ ^\[main.pointer_dereference.7\] .* dereference failure: pointer invalid in \*s: FAILURE$
1313^\[main.pointer_dereference.8\] .* dereference failure: deallocated dynamic object in \*s: FAILURE$
1414^\[main.pointer_dereference.9\] .* dereference failure: dead object in \*s: FAILURE$
1515^\[main.pointer_dereference.10\] .* dereference failure: pointer outside dynamic object bounds in \*s: FAILURE$
Original file line number Diff line number Diff line change 33--harness-type call-function --function test --treat-pointer-as-array arr --associated-array-size arr:sz
44^EXIT=0$
55^SIGNAL=0$
6- \[test.pointer_dereference.1\] line \d+ dereference failure: pointer invalid in arr\[\(signed( long)* int\)i\]: SUCCESS
7- \[test.pointer_dereference.2\] line \d+ dereference failure: pointer NULL in arr\[\(signed( long)* int\)i\]: SUCCESS
6+ \[test.pointer_dereference.1\] line \d+ dereference failure: pointer NULL in arr\[\(signed( long)* int\)i\]: SUCCESS
7+ \[test.pointer_dereference.2\] line \d+ dereference failure: pointer invalid in arr\[\(signed( long)* int\)i\]: SUCCESS
88\[test.pointer_dereference.3\] line \d+ dereference failure: deallocated dynamic object in arr\[\(signed( long)* int\)i\]: SUCCESS
99\[test.pointer_dereference.4\] line \d+ dereference failure: dead object in arr\[\(signed( long)* int\)i\]: SUCCESS
1010\[test.pointer_dereference.5\] line \d+ dereference failure: pointer outside dynamic object bounds in arr\[\(signed( long)* int\)i\]: SUCCESS
Original file line number Diff line number Diff line change @@ -1298,12 +1298,6 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
12981298
12991299 const bool unknown = flags.is_unknown () || flags.is_uninitialized ();
13001300
1301- if (unknown)
1302- {
1303- conditions.push_back (conditiont{
1304- not_exprt{is_invalid_pointer_exprt{address}}, " pointer invalid" });
1305- }
1306-
13071301 if (unknown || flags.is_null ())
13081302 {
13091303 conditions.push_back (conditiont (
@@ -1313,6 +1307,12 @@ goto_checkt::address_check(const exprt &address, const exprt &size)
13131307 " pointer NULL" ));
13141308 }
13151309
1310+ if (unknown)
1311+ {
1312+ conditions.push_back (conditiont{
1313+ not_exprt{is_invalid_pointer_exprt{address}}, " pointer invalid" });
1314+ }
1315+
13161316 if (unknown || flags.is_dynamic_heap ())
13171317 {
13181318 conditions.push_back (conditiont (
You can’t perform that action at this time.
0 commit comments