File tree Expand file tree Collapse file tree 11 files changed +128
-28
lines changed
Expand file tree Collapse file tree 11 files changed +128
-28
lines changed Original file line number Diff line number Diff line change 1- #include <assert.h>
21#include <setjmp.h>
32
3+ static jmp_buf env ;
4+
45int main ()
56{
6- _longjmp ();
7- assert ( 0 );
7+ _longjmp (env , 1 );
8+ __CPROVER_assert ( 0 , "unreachable" );
89 return 0 ;
910}
Original file line number Diff line number Diff line change 1- KNOWNBUG
1+ CORE
22main.c
33--pointer-check --bounds-check
4- ^EXIT=0$
4+ ^\[_longjmp.assertion.1\] line 12 _longjmp requires instrumentation: FAILURE$
5+ ^\[main.assertion.1\] line 8 unreachable: SUCCESS$
6+ ^VERIFICATION FAILED$
7+ ^EXIT=10$
58^SIGNAL=0$
6- ^VERIFICATION SUCCESSFUL$
79--
810^warning: ignoring
Original file line number Diff line number Diff line change 1- #include <assert.h>
21#include <setjmp.h>
32
3+ static jmp_buf env ;
4+
45int main ()
56{
6- longjmp ();
7- assert ( 0 );
7+ longjmp (env , 1 );
8+ __CPROVER_assert ( 0 , "unreachable" );
89 return 0 ;
910}
Original file line number Diff line number Diff line change 1- KNOWNBUG
1+ CORE
22main.c
33--pointer-check --bounds-check
4- ^EXIT=0$
4+ ^\[longjmp.assertion.1\] line 12 longjmp requires instrumentation: FAILURE$
5+ ^\[main.assertion.1\] line 8 unreachable: SUCCESS$
6+ ^VERIFICATION FAILED$
7+ ^EXIT=10$
58^SIGNAL=0$
6- ^VERIFICATION SUCCESSFUL$
79--
810^warning: ignoring
Original file line number Diff line number Diff line change 1- #include <assert.h>
21#include <setjmp.h>
32
3+ static jmp_buf env ;
4+
45int main ()
56{
6- setjmp ();
7- assert (0 );
7+ if (setjmp (env ))
8+ __CPROVER_assert (0 , "reached via longjmp" );
9+ else
10+ __CPROVER_assert (0 , "setjmp called directly" );
811 return 0 ;
912}
Original file line number Diff line number Diff line change 1- KNOWNBUG
1+ CORE
22main.c
33--pointer-check --bounds-check
4- ^EXIT=0$
4+ ^\[main.assertion.1\] line 8 reached via longjmp: SUCCESS$
5+ ^\[main.assertion.2\] line 10 setjmp called directly: FAILURE$
6+ ^VERIFICATION FAILED$
7+ ^EXIT=10$
58^SIGNAL=0$
6- ^VERIFICATION SUCCESSFUL$
79--
810^warning: ignoring
Original file line number Diff line number Diff line change 1- #include <assert.h>
21#include <setjmp.h>
32
3+ static sigjmp_buf env ;
4+
45int main ()
56{
6- siglongjmp ();
7- assert ( 0 );
7+ siglongjmp (env , 1 );
8+ __CPROVER_assert ( 0 , "unreachable" );
89 return 0 ;
910}
Original file line number Diff line number Diff line change 1- KNOWNBUG
1+ CORE unix
22main.c
33--pointer-check --bounds-check
4- ^EXIT=0$
4+ ^\[siglongjmp.assertion.1\] line 14 siglongjmp requires instrumentation: FAILURE$
5+ ^\[main.assertion.1\] line 8 unreachable: SUCCESS$
6+ ^VERIFICATION FAILED$
7+ ^EXIT=10$
58^SIGNAL=0$
6- ^VERIFICATION SUCCESSFUL$
79--
810^warning: ignoring
Original file line number Diff line number Diff line change 1+ #include <setjmp.h>
2+
3+ static sigjmp_buf env ;
4+
5+ int main ()
6+ {
7+ if (sigsetjmp (env , 0 ))
8+ __CPROVER_assert (0 , "reached via siglongjmp" );
9+ else
10+ __CPROVER_assert (0 , "sigsetjmp called directly" );
11+ return 0 ;
12+ }
Original file line number Diff line number Diff line change 1+ CORE unix
2+ main.c
3+ --pointer-check --bounds-check
4+ ^\[main.assertion.1\] line 8 reached via siglongjmp: SUCCESS$
5+ ^\[main.assertion.2\] line 10 sigsetjmp called directly: FAILURE$
6+ ^VERIFICATION FAILED$
7+ ^EXIT=10$
8+ ^SIGNAL=0$
9+ --
10+ ^warning: ignoring
You can’t perform that action at this time.
0 commit comments