From c73b6c9ba513fea3e18b696e659049df69931171 Mon Sep 17 00:00:00 2001 From: Micah Anderson Date: Tue, 11 Nov 2014 11:18:18 -0500 Subject: update to 1.0.0-1 version of the package --- test/default/sodium_utils3.c | 50 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 test/default/sodium_utils3.c (limited to 'test/default/sodium_utils3.c') diff --git a/test/default/sodium_utils3.c b/test/default/sodium_utils3.c new file mode 100644 index 0000000..f2bcdae --- /dev/null +++ b/test/default/sodium_utils3.c @@ -0,0 +1,50 @@ + +#include + +#include +#include + +#define TEST_NAME "sodium_utils3" +#include "cmptest.h" + +static void segv_handler(int sig) +{ + printf("Intentional segfault / bus error caught\n"); + printf("OK\n"); +#ifdef SIGSEGV + signal(SIGSEGV, SIG_DFL); +#endif +#ifdef SIGBUS + signal(SIGBUS, SIG_DFL); +#endif +#ifdef SIGABRT + signal(SIGABRT, SIG_DFL); +#endif + exit(0); +} + +int main(void) +{ + void *buf; + size_t size; + +#ifdef SIGSEGV + signal(SIGSEGV, segv_handler); +#endif +#ifdef SIGBUS + signal(SIGBUS, segv_handler); +#endif +#ifdef SIGABRT + signal(SIGABRT, segv_handler); +#endif + size = randombytes_uniform(100000U); + buf = sodium_malloc(size); + sodium_mprotect_noaccess(buf); + sodium_mprotect_readwrite(buf); + sodium_memzero(((unsigned char *)buf) - 8, 8U); + sodium_mprotect_readonly(buf); + sodium_free(buf); + printf("Underflow not caught\n"); + + return 0; +} -- cgit v1.2.3