llvmorg-github-actions[bot] wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-compiler-rt-sanitizer

Author: Vitaly Buka (vitalybuka)

<details>
<summary>Changes</summary>

Don't use next value of it's not a poison kind.


---
Full diff: https://github.com/llvm/llvm-project/pull/195668.diff


1 Files Affected:

- (modified) compiler-rt/lib/asan/asan_errors.cpp (+7-4) 


``````````diff
diff --git a/compiler-rt/lib/asan/asan_errors.cpp 
b/compiler-rt/lib/asan/asan_errors.cpp
index 364dd6d494c2d..0b84ea6f6967a 100644
--- a/compiler-rt/lib/asan/asan_errors.cpp
+++ b/compiler-rt/lib/asan/asan_errors.cpp
@@ -651,11 +651,14 @@ static void CheckPoisonRecords(uptr addr) {
   if (!AddrIsInMem(addr))
     return;
 
-  u8 *shadow_addr = (u8 *)MemToShadow(addr);
+  const u8* shadow_addr = (const u8*)MemToShadow(addr);
+  u8 shadow_val = shadow_addr[0];
   // If we are in the partial right redzone, look at the next shadow byte.
-  if (*shadow_addr > 0 && *shadow_addr < 128)
-    shadow_addr++;
-  u8 shadow_val = *shadow_addr;
+  if (shadow_val > 0 && shadow_val < ASAN_SHADOW_GRANULARITY) {
+    u8 shadow_next = shadow_addr[1];
+    if (shadow_next >= ASAN_SHADOW_GRANULARITY)
+      shadow_val = shadow_next;
+  }
 
   if (shadow_val != kAsanUserPoisonedMemoryMagic)
     return;

``````````

</details>


https://github.com/llvm/llvm-project/pull/195668
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to