From b495ce03716bbfa469c5eafb244205153abfb883 Mon Sep 17 00:00:00 2001 From: Niels Dossche <7771979+nielsdos@users.noreply.github.com> Date: Tue, 15 Jul 2025 19:09:08 +0200 Subject: [PATCH] Fix memleak on failure in collator_get_sort_key() Closes GH-19138. --- NEWS | 3 +++ ext/intl/collator/collator_sort.c | 1 + 2 files changed, 4 insertions(+) diff --git a/NEWS b/NEWS index 42de159acba..0b66c5447a1 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,9 @@ PHP NEWS (nielsdos) . Remove incorrect string release. (nielsdos) +- Intl: + . Fix memleak on failure in collator_get_sort_key(). (nielsdos) + - LDAP: . Fixed GH-18902 ldap_exop/ldap_exop_sync assert triggered on empty request OID. (David Carlier) diff --git a/ext/intl/collator/collator_sort.c b/ext/intl/collator/collator_sort.c index 0634e68fc7a..b610a8aa6c7 100644 --- a/ext/intl/collator/collator_sort.c +++ b/ext/intl/collator/collator_sort.c @@ -556,6 +556,7 @@ PHP_FUNCTION( collator_get_sort_key ) key_len = ucol_getSortKey(co->ucoll, ustr, ustr_len, (uint8_t*)ZSTR_VAL(key_str), key_len); efree( ustr ); if(!key_len) { + zend_string_efree(key_str); RETURN_FALSE; } ZSTR_LEN(key_str) = key_len - 1;