[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