diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp --- a/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp +++ b/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp @@ -605,7 +605,7 @@ writable); } else if (phdr->p_type == PT_NOTE) { uptr off = 0; - while (off < phdr->p_memsz - sizeof(ElfW(Nhdr))) { + while (off + sizeof(ElfW(Nhdr)) < phdr->p_memsz) { auto *nhdr = reinterpret_cast(info->dlpi_addr + phdr->p_vaddr + off); constexpr auto kGnuNamesz = 4; // "GNU" with NUL-byte.