[compiler-rt] [DataflowSanitizer] Use nullptr instead of NULL or 0 (PR #85986)

via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 20 11:37:55 PDT 2024


https://github.com/matrixificiation created https://github.com/llvm/llvm-project/pull/85986

None

>From c1142da8557b5c32eef0b0122fee4552911b48ea Mon Sep 17 00:00:00 2001
From: LL <164234060+matrixificiation at users.noreply.github.com>
Date: Wed, 20 Mar 2024 18:37:25 +0000
Subject: [PATCH] [DataflowSanitizer] Use nullptr instead of NULL or 0

---
 compiler-rt/lib/dfsan/dfsan_allocator.cpp | 52 ++++++++++++++++++-----
 1 file changed, 42 insertions(+), 10 deletions(-)

diff --git a/compiler-rt/lib/dfsan/dfsan_allocator.cpp b/compiler-rt/lib/dfsan/dfsan_allocator.cpp
index 63475f434cd100..d382501eb991a5 100644
--- a/compiler-rt/lib/dfsan/dfsan_allocator.cpp
+++ b/compiler-rt/lib/dfsan/dfsan_allocator.cpp
@@ -91,16 +91,48 @@ void DFsanThreadLocalMallocStorage::CommitBack() {
 static void *DFsanAllocate(uptr size, uptr alignment, bool zeroise) {
   if (size > max_malloc_size) {
     if (AllocatorMayReturnNull()) {
-      Report("WARNING: DataflowSanitizer failed to allocate 0x%zx bytes\n",
-             size);
-      return nullptr;
-    }
-    BufferedStackTrace stack;
-    ReportAllocationSizeTooBig(size, max_malloc_size, &stack);
-  }
-  if (UNLIKELY(IsRssLimitExceeded())) {
-    if (AllocatorMayReturnNull())
-      return nullptr;
+  Report("WARNING: DataflowSanitizer failed to allocate 0x%zx bytes\n",
+         size);
+  return nullptr;
+}
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
+if (!p)
+  return nullptr;
+
+if (!beg)
+  return nullptr;
+
+if (!b)
+  return nullptr;
+
+if (!ptr)
+  return SetErrnoOnNull(DFsanAllocate(size, sizeof(u64), false /*zeroise*/));
+if (size == 0) {
+  dfsan_deallocate(ptr);
+  return nullptr;
+}
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
+if (AllocatorMayReturnNull())
+  return nullptr;
+
     BufferedStackTrace stack;
     ReportRssLimitExceeded(&stack);
   }



More information about the llvm-commits mailing list