about summary refs log tree commit diff
path: root/src/afl-showmap.c
diff options
context:
space:
mode:
authorJoshua Rogers <jrogers@opera.com>2021-04-02 22:23:11 +0000
committerJoshua Rogers <jrogers@opera.com>2021-04-02 22:23:11 +0000
commit920e9402a4d6101bbbed2ef7584d85a3c3de0eaa (patch)
treec8d8a258835b09099a30d9302ef0a9114a3ecae2 /src/afl-showmap.c
parente98cd008222aa3bfea9b696ad756163302437eb3 (diff)
downloadafl++-920e9402a4d6101bbbed2ef7584d85a3c3de0eaa.tar.gz
Add support for standalone leak-sanitizer, introducting the environment
variable AFL_USE_LSAN.

AFL_USE_LSAN introduces the macro __AFL_CHECK_LEAK() which will check
for a memory leak when the macro is run. This is especially helpful
when using __AFL_LOOP().

If __AFL_LEAK_CHECK() is not used when AFL_USE_LSAN=1 is set,
the leak checker will run when the program exits.
Diffstat (limited to 'src/afl-showmap.c')
-rw-r--r--src/afl-showmap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/afl-showmap.c b/src/afl-showmap.c
index 7bf5a9c7..bf076683 100644
--- a/src/afl-showmap.c
+++ b/src/afl-showmap.c
@@ -570,6 +570,10 @@ static void set_up_environment(afl_forkserver_t *fsrv) {
          "handle_sigfpe=0:"
          "handle_sigill=0",
          0);
+  setenv("LSAN_OPTIONS",
+         "exitcode=" STRINGIFY(LSAN_ERROR) ":"
+         "fast_unwind_on_malloc=0",
+          0);
 
   setenv("UBSAN_OPTIONS",
          "halt_on_error=1:"