[compiler-rt] r281656 - [sanitizers] DLAddr Symbolizer should fail if demangle fails
Anna Zaks via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 15 14:02:09 PDT 2016
Author: zaks
Date: Thu Sep 15 16:02:09 2016
New Revision: 281656
URL: http://llvm.org/viewvc/llvm-project?rev=281656&view=rev
Log:
[sanitizers] DLAddr Symbolizer should fail if demangle fails
This can case crashes in high verbosity mode when demangling fails.
Not including a test case since this is hard to reproduce.
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_mac.cc?rev=281656&r1=281655&r2=281656&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_mac.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_mac.cc Thu Sep 15 16:02:09 2016
@@ -33,7 +33,8 @@ bool DlAddrSymbolizer::SymbolizePC(uptr
int result = dladdr((const void *)addr, &info);
if (!result) return false;
const char *demangled = DemangleSwiftAndCXX(info.dli_sname);
- stack->info.function = demangled ? internal_strdup(demangled) : nullptr;
+ if (!demangled) return false;
+ stack->info.function = internal_strdup(demangled);
return true;
}
More information about the llvm-commits
mailing list