[llvm-branch-commits] [compiler-rt] 1e40681 - Revert "[msan] Detect dereferencing zero-alloc as use-of-uninitialized-value …"

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Sat Aug 30 00:04:00 PDT 2025


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>
 


        


More information about the llvm-branch-commits mailing list