diff options
Diffstat (limited to 'transient_heap.c')
-rw-r--r-- | transient_heap.c | 3 |
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); |