Commit 6541e8331b5 for php.net
commit 6541e8331b592cee878fd2ad392653508b9409a6
Author: Weilin Du <weilindu@php.net>
Date: Tue Sep 15 15:50:39 2026 +0800
ext/standard: Use known-new keys in error_get_last()
Each call builds a new result with distinct fixed field names. Use
zend_hash_add_new() for these fields.
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 1e00661cac2..3699564169b 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -1424,20 +1424,20 @@ PHP_FUNCTION(error_get_last)
array_init(return_value);
ZVAL_LONG(&tmp, PG(last_error_type));
- zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_TYPE), &tmp);
+ zend_hash_add_new(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_TYPE), &tmp);
ZVAL_STR_COPY(&tmp, PG(last_error_message));
- zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_MESSAGE), &tmp);
+ zend_hash_add_new(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_MESSAGE), &tmp);
ZVAL_STR_COPY(&tmp, PG(last_error_file));
- zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_FILE), &tmp);
+ zend_hash_add_new(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_FILE), &tmp);
ZVAL_LONG(&tmp, (zend_long)PG(last_error_lineno));
- zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_LINE), &tmp);
+ zend_hash_add_new(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_LINE), &tmp);
if (!Z_ISUNDEF(EG(last_fatal_error_backtrace))) {
ZVAL_COPY(&tmp, &EG(last_fatal_error_backtrace));
- zend_hash_update(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_TRACE), &tmp);
+ zend_hash_add_new(Z_ARR_P(return_value), ZSTR_KNOWN(ZEND_STR_TRACE), &tmp);
}
}
}