forked from OSchip/llvm-project
[sanitizer] Fix a crash with DlAddrSymbolizer and unnamed symbols
Apparently, dladdr() can succeed but return a NULL pointer, in which case strdup will crash. Let's not call strdup on NULL pointers. llvm-svn: 254068
This commit is contained in:
parent
f763027f04
commit
4aa4a73f17
|
|
@ -33,7 +33,7 @@ bool DlAddrSymbolizer::SymbolizePC(uptr addr, SymbolizedStack *stack) {
|
|||
int result = dladdr((const void *)addr, &info);
|
||||
if (!result) return false;
|
||||
const char *demangled = DemangleCXXABI(info.dli_sname);
|
||||
stack->info.function = internal_strdup(demangled);
|
||||
stack->info.function = demangled ? internal_strdup(demangled) : nullptr;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue