void set_fortify_handler (void (*handler) (int sig)) { struct sigaction sa; sa.sa_handler = handler; sa.sa_flags = 0; sigemptyset (&sa.sa_mask); sigaction (SIGABRT, &sa, NULL); ignore_stderr (); }
int do_test (void) { void *ptr1 = malloc (SIZE); void *ptr2 = malloc (SIZE); /* Avoid unwanted output to TTY after an expected memory corruption. */ ignore_stderr(); call_free (ptr1); ptr1 = malloc (SIZE); /* Not reached. The return statement is to put ptr2 into use so that gcc doesn't optimize out that malloc call. */ return (ptr1 == ptr2); }