summaryrefslogtreecommitdiff
path: root/ext/intl/collator
diff options
context:
space:
mode:
authorNikita Popov <nikic@php.net>2016-07-14 22:01:13 +0200
committerNikita Popov <nikic@php.net>2016-07-16 23:16:20 +0200
commit267c525820a46a45aec05f1963978fdfe1ae291f (patch)
tree58be5fd58578d4bda2472d5f7cd3599e198298f7 /ext/intl/collator
parent02428455362cd73f01aeac0deed69fd1c6703930 (diff)
downloadphp-git-267c525820a46a45aec05f1963978fdfe1ae291f.tar.gz
Fix leak in intl collator compare function
Diffstat (limited to 'ext/intl/collator')
-rw-r--r--ext/intl/collator/collator_sort.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/intl/collator/collator_sort.c b/ext/intl/collator/collator_sort.c
index 69629558d1..4fc5f6a8e8 100644
--- a/ext/intl/collator/collator_sort.c
+++ b/ext/intl/collator/collator_sort.c
@@ -76,7 +76,8 @@ static int collator_regular_compare_function(zval *result, zval *op1, zval *op2)
intl_errors_set_custom_msg( COLLATOR_ERROR_P( co ),
"Object not initialized", 0 );
zend_throw_error(NULL, "Object not initialized");
- return FAILURE;
+ rc = FAILURE;
+ goto cleanup;
}
/* Compare the strings using ICU. */
@@ -126,6 +127,7 @@ static int collator_regular_compare_function(zval *result, zval *op1, zval *op2)
zval_ptr_dtor( norm2_p );
}
+cleanup:
if( num1_p )
zval_ptr_dtor( num1_p );