mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-07-02 20:55:55 +00:00
buffer, defaultmem: add option to poison memory before freeing it
Might be useful to track down certain bugs.
This commit is contained in:
parent
1118c9264f
commit
579d1a3eca
|
@ -517,11 +517,19 @@ static void
|
|||
default_free (GstAllocator * allocator, GstMemory * mem)
|
||||
{
|
||||
GstMemoryDefault *dmem = (GstMemoryDefault *) mem;
|
||||
gsize slice_size;
|
||||
|
||||
if (dmem->notify)
|
||||
dmem->notify (dmem->user_data);
|
||||
|
||||
g_slice_free1 (dmem->slice_size, mem);
|
||||
slice_size = dmem->slice_size;
|
||||
|
||||
#ifdef USE_POISONING
|
||||
/* just poison the structs, not all the data */
|
||||
memset (mem, 0xff, sizeof (GstMemoryDefault));
|
||||
#endif
|
||||
|
||||
g_slice_free1 (slice_size, mem);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -532,10 +532,14 @@ _gst_buffer_free (GstBuffer * buffer)
|
|||
}
|
||||
|
||||
/* we set msize to 0 when the buffer is part of the memory block */
|
||||
if (msize)
|
||||
if (msize) {
|
||||
#ifdef USE_POISONING
|
||||
memset (buffer, 0xff, msize);
|
||||
#endif
|
||||
g_slice_free1 (msize, buffer);
|
||||
else
|
||||
} else {
|
||||
gst_memory_unref (GST_BUFFER_BUFMEM (buffer));
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue