@@ -3438,7 +3438,7 @@ static zend_always_inline void tracked_check_limit(zend_mm_heap *heap, size_t ad
3438
3438
static void * tracked_malloc (size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC )
3439
3439
{
3440
3440
zend_mm_heap * heap = AG (mm_heap );
3441
- ZEND_MM_UNPOISON_HEAP ( heap );
3441
+ // Assume it is already unpoisoned
3442
3442
tracked_check_limit (heap , size );
3443
3443
3444
3444
void * ptr = malloc (size );
@@ -3450,7 +3450,6 @@ static void *tracked_malloc(size_t size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC
3450
3450
#if ZEND_MM_STAT
3451
3451
heap -> size += size ;
3452
3452
#endif
3453
- ZEND_MM_POISON_HEAP (heap );
3454
3453
return ptr ;
3455
3454
}
3456
3455
@@ -3460,19 +3459,16 @@ static void tracked_free(void *ptr ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC) {
3460
3459
}
3461
3460
3462
3461
zend_mm_heap * heap = AG (mm_heap );
3463
- ZEND_MM_UNPOISON_HEAP (heap );
3464
3462
zval * size_zv = tracked_get_size_zv (heap , ptr );
3465
3463
#if ZEND_MM_STAT
3466
3464
heap -> size -= Z_LVAL_P (size_zv );
3467
3465
#endif
3468
3466
zend_hash_del_bucket (heap -> tracked_allocs , (Bucket * ) size_zv );
3469
- ZEND_MM_POISON_HEAP (heap );
3470
3467
free (ptr );
3471
3468
}
3472
3469
3473
3470
static void * tracked_realloc (void * ptr , size_t new_size ZEND_FILE_LINE_DC ZEND_FILE_LINE_ORIG_DC ) {
3474
3471
zend_mm_heap * heap = AG (mm_heap );
3475
- ZEND_MM_UNPOISON_HEAP (heap );
3476
3472
zval * old_size_zv = NULL ;
3477
3473
size_t old_size = 0 ;
3478
3474
if (ptr ) {
@@ -3494,7 +3490,6 @@ static void *tracked_realloc(void *ptr, size_t new_size ZEND_FILE_LINE_DC ZEND_F
3494
3490
#if ZEND_MM_STAT
3495
3491
heap -> size += new_size - old_size ;
3496
3492
#endif
3497
- ZEND_MM_POISON_HEAP (heap );
3498
3493
return ptr ;
3499
3494
}
3500
3495
0 commit comments