Fix memory leak in intl_datetime_decompose()

Closes GH-18635.
This commit is contained in:
Niels Dossche 2025-05-24 13:53:15 +02:00
parent c30bddc18f
commit d6836fb345
No known key found for this signature in database
GPG key ID: B8A8AD166DF0E2E5
2 changed files with 4 additions and 0 deletions

3
NEWS
View file

@ -2,6 +2,9 @@ PHP NEWS
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? ??? ????, PHP 8.3.23 ?? ??? ????, PHP 8.3.23
- Intl:
. Fix memory leak in intl_datetime_decompose() on failure. (nielsdos)
- Phar: - Phar:
. Add missing filter cleanups on phar failure. (nielsdos) . Add missing filter cleanups on phar failure. (nielsdos)

View file

@ -118,6 +118,7 @@ U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz,
ZVAL_STRING(&zfuncname, "getTimestamp"); ZVAL_STRING(&zfuncname, "getTimestamp");
if (call_user_function(NULL, z, &zfuncname, &retval, 0, NULL) if (call_user_function(NULL, z, &zfuncname, &retval, 0, NULL)
!= SUCCESS || Z_TYPE(retval) != IS_LONG) { != SUCCESS || Z_TYPE(retval) != IS_LONG) {
zval_ptr_dtor(&retval);
spprintf(&message, 0, "%s: error calling ::getTimeStamp() on the " spprintf(&message, 0, "%s: error calling ::getTimeStamp() on the "
"object", func); "object", func);
intl_errors_set(err, U_INTERNAL_PROGRAM_ERROR, intl_errors_set(err, U_INTERNAL_PROGRAM_ERROR,