From ea6cb2d3bb1796aef2c195079fe91311a43f4b82 Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Tue, 4 Jun 2024 13:09:32 -0400 Subject: implement jmp_buf tracking and disallow setjmp macro suppression --- src/setjmp/longjmp.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/setjmp/longjmp.c') 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 +#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; -- cgit v1.2.1