diff options
| author | Jakob Kaivo <jkk@ung.org> | 2024-06-04 13:09:32 -0400 |
|---|---|---|
| committer | Jakob Kaivo <jkk@ung.org> | 2024-06-04 13:09:32 -0400 |
| commit | ea6cb2d3bb1796aef2c195079fe91311a43f4b82 (patch) | |
| tree | 05849e82b3791e6b8132a34d5fe04e98b2665ba7 /src/setjmp/longjmp.c | |
| parent | 9c1836f093bf18db12eef6d437ee856b4c888c95 (diff) | |
implement jmp_buf tracking and disallow setjmp macro suppression
Diffstat (limited to 'src/setjmp/longjmp.c')
| -rw-r--r-- | src/setjmp/longjmp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/setjmp/longjmp.c b/src/setjmp/longjmp.c index 117910fc..2208aec7 100644 --- a/src/setjmp/longjmp.c +++ b/src/setjmp/longjmp.c @@ -1,4 +1,5 @@ #include <setjmp.h> +#include "_setjmp.h" #include "_safety.h" /** restore calling environment **/ @@ -7,6 +8,7 @@ _Noreturn void longjmp(jmp_buf env, int val) { extern _Noreturn void ___longjmp(jmp_buf); SIGNAL_SAFE(0); + ASSERT_JMP_BUF(env); /* use val if nonzero, otherwise 1 */ env[0] = val ? val : 1; |
