diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-12-29 23:13:20 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-02-08 06:58:43 -0500 |
commit | c5bb8e2399f55c09a98c66936940ba744b5841da (patch) | |
tree | 32453369908787a9d47008667138e85225bf339f /benchtests/bench-strcpy_chk.c | |
parent | 10444e425e539ec12e42415756b0a874413ce94a (diff) | |
download | glibc-c5bb8e2399f55c09a98c66936940ba744b5841da.zip glibc-c5bb8e2399f55c09a98c66936940ba744b5841da.tar.gz glibc-c5bb8e2399f55c09a98c66936940ba744b5841da.tar.bz2 |
tests: unify fortification handler logic
We have multiple tests that copy & paste the same logic for disabling the
fortification output. Let's unify this in the test-skeleton instead.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'benchtests/bench-strcpy_chk.c')
-rw-r--r-- | benchtests/bench-strcpy_chk.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/benchtests/bench-strcpy_chk.c b/benchtests/bench-strcpy_chk.c index 8accb61..828c9bc 100644 --- a/benchtests/bench-strcpy_chk.c +++ b/benchtests/bench-strcpy_chk.c @@ -53,6 +53,9 @@ simple_strcpy_chk (char *dst, const char *src, size_t len) #include <setjmp.h> #include <signal.h> +static int test_main (void); +#include "../test-skeleton.c" + volatile int chk_fail_ok; jmp_buf chk_fail_buf; @@ -156,28 +159,12 @@ do_test (size_t align1, size_t align2, size_t len, size_t dlen, int max_char) putchar ('\n'); } -int +static int test_main (void) { size_t i; - struct sigaction sa; - sa.sa_handler = handler; - sa.sa_flags = 0; - sigemptyset (&sa.sa_mask); - - sigaction (SIGABRT, &sa, NULL); - - /* Avoid all the buffer overflow messages on stderr. */ - int fd = open (_PATH_DEVNULL, O_WRONLY); - if (fd == -1) - close (STDERR_FILENO); - else - { - dup2 (fd, STDERR_FILENO); - close (fd); - } - setenv ("LIBC_FATAL_STDERR_", "1", 1); + set_fortify_handler (handler); test_init (); @@ -254,5 +241,3 @@ test_main (void) return 0; } - -#include "../test-skeleton.c" |