From 1ae2c871d0b69f8cb460eff0c69191a0bbb1f530 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Sun, 2 Mar 2025 22:55:06 +0100 Subject: [PATCH] Avoid unnecessary string refcounting in ext/date (#17890) --- ext/date/php_date.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 5370377a7fa..ed89c9d494a 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -4682,9 +4682,10 @@ static void php_date_interval_initialize_from_hash(zval **return_value, php_inte if (z_arg && Z_TYPE_P(z_arg) == IS_FALSE) { \ (*intobj)->diff->member = TIMELIB_UNSET; \ } else if (z_arg && Z_TYPE_P(z_arg) <= IS_STRING) { \ - zend_string *str = zval_get_string(z_arg); \ + zend_string *tmp_str; \ + zend_string *str = zval_get_tmp_string(z_arg, &tmp_str); \ DATE_A64I((*intobj)->diff->member, ZSTR_VAL(str)); \ - zend_string_release(str); \ + zend_tmp_string_release(tmp_str); \ } else { \ (*intobj)->diff->member = -1LL; \ } \