[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.

llvm-svn: 281656
This commit is contained in:
Anna Zaks
2016-09-15 21:02:09 +00:00
parent d590db6eac
commit 592bc45533

View File

@@ -33,7 +33,8 @@ bool DlAddrSymbolizer::SymbolizePC(uptr addr, SymbolizedStack *stack) {
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;
}