fix of fix: make sure ASAN_OPTIONS and LSAN_OPTIONS agree on leak detection

This commit is contained in:
hexcoder-
2023-11-04 22:48:27 +01:00
parent 8338844284
commit 6ed3f4cfac

View File

@ -98,14 +98,16 @@ void set_sanitizer_defaults() {
} }
/* LSAN does not support abort_on_error=1. (is this still true??) */ /* LSAN does not support abort_on_error=1. (is this still true??) */
u8 should_detect_leaks = 0;
if (!have_lsan_options) { if (!have_lsan_options) {
u8 buf[2048] = ""; u8 buf[2048] = "";
if (!have_san_options) { strcpy(buf, default_options); } if (!have_san_options) { strcpy(buf, default_options); }
if (have_san_options && NULL != strstr(have_asan_options, "detect_leaks=0")) { if (have_asan_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:"); strcat(buf, "exitcode=" STRINGIFY(LSAN_ERROR) ":fast_unwind_on_malloc=0:print_suppressions=0:detect_leaks=0:malloc_context_size=0:");
} else { } else {
should_detect_leaks = 1;
strcat(buf, "exitcode=" STRINGIFY(LSAN_ERROR) ":fast_unwind_on_malloc=0:print_suppressions=0:detect_leaks=1:malloc_context_size=30:"); strcat(buf, "exitcode=" STRINGIFY(LSAN_ERROR) ":fast_unwind_on_malloc=0:print_suppressions=0:detect_leaks=1:malloc_context_size=30:");
} }
@ -117,7 +119,11 @@ void set_sanitizer_defaults() {
if (!have_lsan_options) { if (!have_lsan_options) {
if (should_detect_leaks) {
strcat(default_options, "detect_leaks=1:malloc_context_size=30:");
} else {
strcat(default_options, "detect_leaks=0:malloc_context_size=0:"); strcat(default_options, "detect_leaks=0:malloc_context_size=0:");
}
} }