Skip to content

Commit b30a51d

Browse files
committed
More poisoning
1 parent fab35a3 commit b30a51d

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

Zend/zend_alloc.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1659,6 +1659,8 @@ static zend_never_inline void *zend_mm_realloc_huge(zend_mm_heap *heap, void *pt
16591659
#else
16601660
zend_mm_change_huge_block_size(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
16611661
#endif
1662+
ZEND_ASAN_POISON_MEMORY_REGION(ptr, new_size);
1663+
ZEND_ASAN_UNPOISON_MEMORY_REGION(ptr, size);
16621664
return ptr;
16631665
} else if (new_size < old_size) {
16641666
/* unmup tail */
@@ -1674,6 +1676,8 @@ static zend_never_inline void *zend_mm_realloc_huge(zend_mm_heap *heap, void *pt
16741676
#else
16751677
zend_mm_change_huge_block_size(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
16761678
#endif
1679+
ZEND_ASAN_POISON_MEMORY_REGION(ptr, old_size);
1680+
ZEND_ASAN_UNPOISON_MEMORY_REGION(ptr, size);
16771681
return ptr;
16781682
}
16791683
} else /* if (new_size > old_size) */ {
@@ -1706,6 +1710,9 @@ static zend_never_inline void *zend_mm_realloc_huge(zend_mm_heap *heap, void *pt
17061710
#else
17071711
zend_mm_change_huge_block_size(heap, ptr, new_size ZEND_FILE_LINE_RELAY_CC ZEND_FILE_LINE_ORIG_RELAY_CC);
17081712
#endif
1713+
ZEND_ASAN_POISON_MEMORY_REGION(ptr, new_size);
1714+
ZEND_ASAN_UNPOISON_MEMORY_REGION(ptr, size);
1715+
17091716
return ptr;
17101717
}
17111718
}

0 commit comments

Comments
 (0)