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
