[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