about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/afl-common.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/afl-common.c b/src/afl-common.c
index b4143a1b..9ba7116d 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -103,7 +103,12 @@ void set_sanitizer_defaults() {
 
     u8 buf[2048] = "";
     if (!have_san_options) { strcpy(buf, default_options); }
-    strcat(buf, "exitcode=" STRINGIFY(LSAN_ERROR) ":fast_unwind_on_malloc=0:print_suppressions=0:detect_leaks=1:malloc_context_size=30:");
+    if (have_san_options && NULL != strstr(have_asan_options, "detect_leaks=0")) {
+      strcat(buf, "exitcode=" STRINGIFY(LSAN_ERROR) ":fast_unwind_on_malloc=0:print_suppressions=0:detect_leaks=0:malloc_context_size=30:");
+    } else {
+      strcat(buf, "exitcode=" STRINGIFY(LSAN_ERROR) ":fast_unwind_on_malloc=0:print_suppressions=0:detect_leaks=1:malloc_context_size=30:");
+    }
+
     setenv("LSAN_OPTIONS", buf, 1);
 
   }