[compiler-rt] [msan] Detect dereferencing zero-alloc as use-of-uninitialized-value (PR #155944)
Thurston Dang via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 29 19:23:27 PDT 2025
================
@@ -230,6 +230,12 @@ static void *MsanAllocate(BufferedStackTrace *stack, uptr size, uptr alignment,
__msan_set_origin(allocated, size, o.raw_id());
}
}
+
+ uptr actually_allocated_size = allocator.GetActuallyAllocatedSize(allocated);
----------------
thurstond wrote:
> Why did you create this patch than, it falls into the same category?
Zero-sized allocations are a special case. POSIX allows that malloc(0) could even return NULL, which definitely should not be dereferenced. The new behavior (returning a non-NULL pointer, but not allowing it to be dereferenced) is a compromise between compatibility and detection.
https://github.com/llvm/llvm-project/pull/155944
More information about the llvm-commits
mailing list