Skip to content

Commit ae10d17

Browse files
author
Daniel Kroening
committed
refactor pointer_validity_check using address_check
1 parent 4a24ad4 commit ae10d17

File tree

6 files changed

+92
-235
lines changed

6 files changed

+92
-235
lines changed

regression/cbmc/Function5/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ main.c
33
--pointer-check --bounds-check
44
^SIGNAL=0$
55
^EXIT=10$
6-
^\[.*\] dereference failure: pointer outside object bounds in \*p: FAILURE$
6+
^\[.*\] pointer outside object bounds in \*p: FAILURE$
77
--
88
^warning: ignoring

regression/cbmc/address_space_size_limit3/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ main.i
44
^EXIT=10$
55
^SIGNAL=0$
66
^VERIFICATION FAILED$
7-
^.* dereference failure: pointer outside object bounds in .*: FAILURE$
7+
^.* pointer outside object bounds in .*: FAILURE$
88
--
99
^warning: ignoring
1010
--

regression/cbmc/memory_allocation1/test.desc

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ main.c
33
--pointer-check
44
^EXIT=10$
55
^SIGNAL=0$
6-
^\[main\.pointer_dereference\.2\] dereference failure: invalid integer address in \*p: SUCCESS$
6+
^\[main\.pointer_dereference\.2\] invalid integer address in \*p: SUCCESS$
77
^\[main\.assertion\.1\] assertion \*p==42: SUCCESS$
8-
^\[main\.pointer_dereference\.[0-9]+\] dereference failure: invalid integer address in p\[.*1\]: FAILURE$
8+
^\[main\.pointer_dereference\.[0-9]+\] invalid integer address in p\[.*1\]: FAILURE$
99
^\[main\.assertion\.2\] assertion \*\(p\+1\)==42: SUCCESS$
1010
^VERIFICATION FAILED$
1111
--

regression/cbmc/pointer-extra-checks/test.desc

+28-28
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,37 @@ main.c
33
--pointer-check
44
^EXIT=10$
55
^SIGNAL=0$
6-
^\[main.pointer_dereference.1\] dereference failure: pointer NULL in \*p: FAILURE$
7-
^\[main.pointer_dereference.2\] dereference failure: dead object in \*q: SUCCESS$
8-
^\[main.pointer_dereference.3\] dereference failure: pointer outside object bounds in \*q: SUCCESS$
9-
^\[main.pointer_dereference.4\] dereference failure: deallocated dynamic object in \*r: SUCCESS$
10-
^\[main.pointer_dereference.5\] dereference failure: pointer outside dynamic object bounds in \*r: SUCCESS$
11-
^\[main.pointer_dereference.6\] dereference failure: pointer uninitialized in \*s: FAILURE$
6+
^\[main.pointer_dereference.1\] pointer NULL in \*p: FAILURE$
7+
^\[main.pointer_dereference.2\] dead object in \*q: SUCCESS$
8+
^\[main.pointer_dereference.3\] pointer outside object bounds in \*q: SUCCESS$
9+
^\[main.pointer_dereference.4\] deallocated dynamic object in \*r: SUCCESS$
10+
^\[main.pointer_dereference.5\] pointer outside dynamic object bounds in \*r: SUCCESS$
11+
^\[main.pointer_dereference.6\] pointer uninitialized in \*s: FAILURE$
1212
^VERIFICATION FAILED$
1313
--
1414
^warning: ignoring
15-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer invalid in \*p:
16-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer uninitialized in \*p:
17-
^\[main.pointer_dereference.[0-9]+\] dereference failure: deallocated dynamic object in \*p:
18-
^\[main.pointer_dereference.[0-9]+\] dereference failure: dead object in \*p:
19-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer outside dynamic object bounds in \*p:
20-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer outside object bounds in \*p:
21-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer NULL in \*q:
22-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer invalid in \*q:
23-
^\[main.pointer_dereference.[0-9]+\] dereference failure: deallocated dynamic object in \*q:
24-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer outside dynamic object bounds in \*q:
25-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer uninitialized in \*q:
26-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer NULL in \*r:
27-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer invalid in \*r:
28-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer uninitialized in \*r:
29-
^\[main.pointer_dereference.[0-9]+\] dereference failure: dead object in \*r:
30-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer outside object bounds in \*r:
31-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer NULL in \*s:
32-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer invalid in \*s:
33-
^\[main.pointer_dereference.[0-9]+\] dereference failure: deallocated dynamic object in \*s:
34-
^\[main.pointer_dereference.[0-9]+\] dereference failure: dead object in \*s:
35-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer outside dynamic object bounds in \*s:
36-
^\[main.pointer_dereference.[0-9]+\] dereference failure: pointer outside object bounds in \*s:
15+
^\[main.pointer_dereference.[0-9]+\] pointer invalid in \*p:
16+
^\[main.pointer_dereference.[0-9]+\] pointer uninitialized in \*p:
17+
^\[main.pointer_dereference.[0-9]+\] deallocated dynamic object in \*p:
18+
^\[main.pointer_dereference.[0-9]+\] dead object in \*p:
19+
^\[main.pointer_dereference.[0-9]+\] pointer outside dynamic object bounds in \*p:
20+
^\[main.pointer_dereference.[0-9]+\] pointer outside object bounds in \*p:
21+
^\[main.pointer_dereference.[0-9]+\] pointer NULL in \*q:
22+
^\[main.pointer_dereference.[0-9]+\] pointer invalid in \*q:
23+
^\[main.pointer_dereference.[0-9]+\] deallocated dynamic object in \*q:
24+
^\[main.pointer_dereference.[0-9]+\] pointer outside dynamic object bounds in \*q:
25+
^\[main.pointer_dereference.[0-9]+\] pointer uninitialized in \*q:
26+
^\[main.pointer_dereference.[0-9]+\] pointer NULL in \*r:
27+
^\[main.pointer_dereference.[0-9]+\] pointer invalid in \*r:
28+
^\[main.pointer_dereference.[0-9]+\] pointer uninitialized in \*r:
29+
^\[main.pointer_dereference.[0-9]+\] dead object in \*r:
30+
^\[main.pointer_dereference.[0-9]+\] pointer outside object bounds in \*r:
31+
^\[main.pointer_dereference.[0-9]+\] pointer NULL in \*s:
32+
^\[main.pointer_dereference.[0-9]+\] pointer invalid in \*s:
33+
^\[main.pointer_dereference.[0-9]+\] deallocated dynamic object in \*s:
34+
^\[main.pointer_dereference.[0-9]+\] dead object in \*s:
35+
^\[main.pointer_dereference.[0-9]+\] pointer outside dynamic object bounds in \*s:
36+
^\[main.pointer_dereference.[0-9]+\] pointer outside object bounds in \*s:
3737
--
3838
This test ensures that local_bitvector_analysis is correctly labelling obvious
3939
cases of pointers and that --pointer-check is not generating excess assertions.

regression/cbmc/read1/test.desc

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ main.c
44
^EXIT=10$
55
^SIGNAL=0$
66
^VERIFICATION FAILED$
7-
\[.*] dereference failure: pointer outside object bounds in .*: FAILURE
7+
\[.*] pointer outside object bounds in .*: FAILURE
88
\*\* 1 of .* failed \(.*\)
99
--
1010
^warning: ignoring

0 commit comments

Comments
 (0)