summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sanitizer_common/sanitizer_symbolizer_mac.cc')
-rw-r--r--lib/sanitizer_common/sanitizer_symbolizer_mac.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/sanitizer_common/sanitizer_symbolizer_mac.cc b/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
index d591abca15dfd..f08cb9f97cf99 100644
--- a/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
+++ b/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
@@ -19,8 +19,6 @@
#include "sanitizer_mac.h"
#include "sanitizer_symbolizer_mac.h"
-namespace __sanitizer {
-
#include <dlfcn.h>
#include <errno.h>
#include <stdlib.h>
@@ -28,12 +26,15 @@ namespace __sanitizer {
#include <unistd.h>
#include <util.h>
+namespace __sanitizer {
+
bool DlAddrSymbolizer::SymbolizePC(uptr addr, SymbolizedStack *stack) {
Dl_info info;
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;
}