[hwasan] add pattern for short tag in symbolizer
authorJohan Erlandsson <johan.erlandsson@sony.com>
Wed, 18 Jan 2023 19:10:55 +0000 (11:10 -0800)
committerFlorian Mayer <fmayer@google.com>
Wed, 18 Jan 2023 19:12:39 +0000 (11:12 -0800)
Lines with 'record_addr:' are not processed when failing to decode
access tag. The regular format is: %02x/%02x but for a short tag it's:
%02x/%02x(%02x). Now it will handle both cases.

Tested-by: Ivar Henckel <ivar.henckel@sony.com>
Reviewed By: fmayer

Differential Revision: https://reviews.llvm.org/D141906

compiler-rt/lib/hwasan/scripts/hwasan_symbolize

index 6de4fe1..0408e0e 100755 (executable)
@@ -307,7 +307,7 @@ class Symbolizer:
     match = re.match(r'^(.*?)HWAddressSanitizer: tag-mismatch on address (0x[0-9a-f]+) ', line, re.UNICODE)
     if match:
       self.__last_access_address = int(match.group(2), 16)
-    match = re.match(r'^(.*?) of size [0-9]+ at 0x[0-9a-f]* tags: ([0-9a-f]+)/[0-9a-f]+ \(ptr/mem\)', line, re.UNICODE)
+    match = re.match(r'^(.*?) of size [0-9]+ at 0x[0-9a-f]* tags: ([0-9a-f]+)/[0-9a-f]+(\([0-9a-f]+\))? \(ptr/mem\)', line, re.UNICODE)
     if match:
       self.__last_access_tag = int(match.group(2), 16)