Index: build/sanitizers/sanitizer_options.cc |
diff --git a/build/sanitizers/sanitizer_options.cc b/build/sanitizers/sanitizer_options.cc |
index 821ba485a4e211f177950d25bc33dfc03983d3e5..a3b05c1e674bc06e78521eb980469f28b3c9f3af 100644 |
--- a/build/sanitizers/sanitizer_options.cc |
+++ b/build/sanitizers/sanitizer_options.cc |
@@ -49,6 +49,8 @@ void _sanitizer_options_link_helper() { } |
// fast_unwind_on_fatal=1 - use the fast (frame-pointer-based) stack unwinder |
// to print error reports. V8 doesn't generate debug info for the JIT code, |
// so the slow unwinder may not work properly. |
+// detect_stack_use_after_return=1 - use fake stack to delay the reuse of |
+// stack allocations and detect stack-use-after-return errors. |
#if defined(OS_LINUX) |
#if defined(GOOGLE_CHROME_BUILD) |
// Default AddressSanitizer options for the official build. These do not affect |
@@ -62,13 +64,14 @@ const char kAsanDefaultOptions[] = |
// Default AddressSanitizer options for buildbots and non-official builds. |
const char *kAsanDefaultOptions = |
"strict_memcmp=0 symbolize=false check_printf=1 use_sigaltstack=1 " |
- "detect_leaks=0 strip_path_prefix=Release/../../ fast_unwind_on_fatal=1"; |
+ "detect_leaks=0 strip_path_prefix=Release/../../ fast_unwind_on_fatal=1 " |
+ "detect_stack_use_after_return=1 "; |
#endif // GOOGLE_CHROME_BUILD |
#elif defined(OS_MACOSX) |
const char *kAsanDefaultOptions = |
"strict_memcmp=0 replace_intrin=0 check_printf=1 use_sigaltstack=1 " |
- "strip_path_prefix=Release/../../ fast_unwind_on_fatal=1"; |
+ "strip_path_prefix=Release/../../ fast_unwind_on_fatal=1 "; |
static const char kNaClDefaultOptions[] = "handle_segv=0"; |
static const char kNaClFlag[] = "--type=nacl-loader"; |
#endif // OS_LINUX |