summaryrefslogtreecommitdiff
path: root/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc')
-rw-r--r--test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc b/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc
index dd18213d6..23e32a884 100644
--- a/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc
+++ b/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc
@@ -13,12 +13,11 @@
// "benign" SEGVs that are handled by signal handler, and ensures that
// the process survive.
-// REQUIRES: disabled
-
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <sys/mman.h>
+#include <string.h>
void *guard;
@@ -28,6 +27,8 @@ void handler(int signo, siginfo_t *info, void *uctx) {
int main() {
struct sigaction a, old;
+ memset(&a, 0, sizeof(a));
+ memset(&old, 0, sizeof(old));
a.sa_sigaction = handler;
a.sa_flags = SA_SIGINFO;
sigaction(SIGSEGV, &a, &old);