diff --git a/ext/standard/array.c b/ext/standard/array.c index ba3f2aa103b..270ba0dc50e 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -1084,7 +1084,9 @@ static int php_array_walk(HashTable *target_hash, zval **userdata, int recursive /* Call the userland function */ if (zend_call_function(&fci, &BG(array_walk_fci_cache) TSRMLS_CC) == SUCCESS) { - zval_ptr_dtor(&retval_ptr); + if (retval_ptr) { + zval_ptr_dtor(&retval_ptr); + } } else { char *func_name;