Author: Thurston Dang Date: 2025-08-30T00:03:56-07:00 New Revision: 1e406814dd21aad7da6bd1c1a8e0c6f1c1cd5369
URL: https://github.com/llvm/llvm-project/commit/1e406814dd21aad7da6bd1c1a8e0c6f1c1cd5369 DIFF: https://github.com/llvm/llvm-project/commit/1e406814dd21aad7da6bd1c1a8e0c6f1c1cd5369.diff LOG: Revert "[msan] Detect dereferencing zero-alloc as use-of-uninitialized-value …" This reverts commit 8784dcef3485a3862e5cacc9e18c646d0225483b. Added: Modified: compiler-rt/lib/msan/msan_allocator.cpp compiler-rt/test/msan/zero_alloc.cpp Removed: ################################################################################ diff --git a/compiler-rt/lib/msan/msan_allocator.cpp b/compiler-rt/lib/msan/msan_allocator.cpp index 64df863839c06..2b543db49d36e 100644 --- a/compiler-rt/lib/msan/msan_allocator.cpp +++ b/compiler-rt/lib/msan/msan_allocator.cpp @@ -230,12 +230,6 @@ static void *MsanAllocate(BufferedStackTrace *stack, uptr size, uptr alignment, __msan_set_origin(allocated, size, o.raw_id()); } } - - uptr actually_allocated_size = allocator.GetActuallyAllocatedSize(allocated); - // For compatibility, the allocator converted 0-sized allocations into 1 byte - if (size == 0 && actually_allocated_size > 0 && flags()->poison_in_malloc) - __msan_poison(allocated, 1); - UnpoisonParam(2); RunMallocHooks(allocated, size); return allocated; diff --git a/compiler-rt/test/msan/zero_alloc.cpp b/compiler-rt/test/msan/zero_alloc.cpp index 6e38ce4c0a8f8..e60051872eba2 100644 --- a/compiler-rt/test/msan/zero_alloc.cpp +++ b/compiler-rt/test/msan/zero_alloc.cpp @@ -1,5 +1,9 @@ // RUN: %clang_msan -Wno-alloc-size -fsanitize-recover=memory %s -o %t && not %run %t 2>&1 | FileCheck %s +// MSan doesn't catch this because internally it translates 0-byte allocations +// into 1-byte +// XFAIL: * + #include <malloc.h> #include <stdio.h> _______________________________________________ llvm-branch-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
