[compiler-rt] [scudo] do not store size inside ring buffer (PR #74541)
Christopher Ferris via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 8 17:08:24 PST 2023
================
@@ -1408,17 +1409,19 @@ class Allocator {
size_t &NextErrorReport,
uintptr_t FaultAddr,
const StackDepot *Depot,
- const char *RingBufferPtr) {
+ const char *RingBufferPtr,
+ size_t RingBufferSize) {
auto *RingBuffer =
reinterpret_cast<const AllocationRingBuffer *>(RingBufferPtr);
- if (!RingBuffer || RingBuffer->Size == 0)
+ size_t RingBufferElements = ringBufferElementsFromBytes(RingBufferSize);
+ if (!RingBuffer || RingBufferElements == 0)
----------------
cferris1000 wrote:
Is there ever a case where RingBuffer is not null and RingBufferElements is 0?
If not, maybe it would be better to change this to something like:
if (!RingBuffer)
return;
size_t RingBufferElements = ...;
DCHECK(RingBufferElements != 0);
https://github.com/llvm/llvm-project/pull/74541
More information about the llvm-commits
mailing list