[PATCH] D15071: [sanitizer] Detect an invalid answer in AtosSymbolizer

Kuba Brecka via llvm-commits llvm-commits at lists.llvm.org
Mon Nov 30 02:42:36 PST 2015


kubabrecka created this revision.
kubabrecka added reviewers: glider, kcc, samsonov, dvyukov.
kubabrecka added subscribers: llvm-commits, zaks.anna.

On OS X, in `AtosSymbolizer`, if the answer from `atos` doesn't contain module name, let's bail and return false.  There are some cases where this is beneficial, because we'll try DlAddrSymbolizer next (it's next in the symbolizer chain), which might be able to symbolize something that `atos` couldn't.

http://reviews.llvm.org/D15071

Files:
  lib/sanitizer_common/sanitizer_symbolizer_mac.cc

Index: lib/sanitizer_common/sanitizer_symbolizer_mac.cc
===================================================================
--- lib/sanitizer_common/sanitizer_symbolizer_mac.cc
+++ lib/sanitizer_common/sanitizer_symbolizer_mac.cc
@@ -121,6 +121,12 @@
   const char *rest = trim;
   char *symbol_name;
   rest = ExtractTokenUpToDelimiter(rest, " (in ", &symbol_name);
+  if (rest[0] == '\0') {
+    InternalFree(symbol_name);
+    InternalFree(trim);
+    return false;
+  }
+
   if (internal_strncmp(symbol_name, "0x", 2) != 0)
     *out_name = symbol_name;
   else


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15071.41376.patch
Type: text/x-patch
Size: 566 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151130/4e4461fc/attachment.bin>


More information about the llvm-commits mailing list