summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--transient_heap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/transient_heap.c b/transient_heap.c
index 1bc5094a09..bf2de155df 100644
--- a/transient_heap.c
+++ b/transient_heap.c
@@ -780,6 +780,9 @@ clear_marked_index(struct transient_heap_block* block)
while (marked_index != TRANSIENT_HEAP_ALLOC_MARKING_LAST) {
struct transient_alloc_header *header = alloc_header(block, marked_index);
+ /* header is poisoned to prevent buffer overflow, should
+ * unpoison first... */
+ unpoison_memory_region(header, sizeof *header, false);
TH_ASSERT(marked_index != TRANSIENT_HEAP_ALLOC_MARKING_FREE);
if (0) fprintf(stderr, "clear_marked_index - block:%p mark_index:%d\n", (void *)block, marked_index);