8 #define TEST_NAME "sodium_utils3"
11 #ifdef __SANITIZE_ADDRESS__
12 # warning The sodium_utils3 test is expected to fail with address sanitizer
15 static void segv_handler(int sig
)
17 printf("Intentional segfault / bus error caught\n");
20 signal(SIGSEGV
, SIG_DFL
);
23 signal(SIGBUS
, SIG_DFL
);
26 signal(SIGABRT
, SIG_DFL
);
37 signal(SIGSEGV
, segv_handler
);
40 signal(SIGBUS
, segv_handler
);
43 signal(SIGABRT
, segv_handler
);
45 size
= randombytes_uniform(100000U);
46 buf
= sodium_malloc(size
);
48 sodium_mprotect_noaccess(buf
);
49 sodium_mprotect_readwrite(buf
);
50 #ifndef __EMSCRIPTEN__
51 sodium_memzero(((unsigned char *)buf
) - 8, 8U);
52 sodium_mprotect_readonly(buf
);
54 printf("Underflow not caught\n");