aboutsummaryrefslogtreecommitdiff
path: root/src/afl-forkserver.c
diff options
context:
space:
mode:
authorAndrea Fioraldi <andreafioraldi@gmail.com>2020-07-03 10:20:10 +0200
committerAndrea Fioraldi <andreafioraldi@gmail.com>2020-07-03 10:20:10 +0200
commit139665c01dce7b85941d6e1b61aaebd06e316cba (patch)
tree60968669a24bc8b3fe2ac93adf8fffea472e9819 /src/afl-forkserver.c
parent509b991607b7e991057c81e9aa06236b3ce05c53 (diff)
downloadafl++-139665c01dce7b85941d6e1b61aaebd06e316cba.tar.gz
ubsan options
Diffstat (limited to 'src/afl-forkserver.c')
-rw-r--r--src/afl-forkserver.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 419ce28e..47493eba 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -434,7 +434,27 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
"detect_leaks=0:"
"malloc_context_size=0:"
"symbolize=0:"
- "allocator_may_return_null=1",
+ "allocator_may_return_null=1:"
+ "handle_segv=0:"
+ "handle_sigbus=0:"
+ "handle_abort=0:"
+ "handle_sigfpe=0:"
+ "handle_sigill=0",
+ 0);
+
+ /* Set sane defaults for UBSAN if nothing else specified. */
+
+ setenv("UBSAN_OPTIONS",
+ "halt_on_error=1:"
+ "abort_on_error=1:"
+ "malloc_context_size=0:"
+ "allocator_may_return_null=1:"
+ "symbolize=0:"
+ "handle_segv=0:"
+ "handle_sigbus=0:"
+ "handle_abort=0:"
+ "handle_sigfpe=0:"
+ "handle_sigill=0",
0);
/* MSAN is tricky, because it doesn't support abort_on_error=1 at this
@@ -446,7 +466,12 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
"abort_on_error=1:"
"malloc_context_size=0:"
"allocator_may_return_null=1:"
- "msan_track_origins=0",
+ "msan_track_origins=0:"
+ "handle_segv=0:"
+ "handle_sigbus=0:"
+ "handle_abort=0:"
+ "handle_sigfpe=0:"
+ "handle_sigill=0",
0);
fsrv->init_child_func(fsrv, argv);