]> granicus.if.org Git - php/commitdiff
Fix leak in intl collator compare function
authorNikita Popov <nikic@php.net>
Thu, 14 Jul 2016 20:01:13 +0000 (22:01 +0200)
committerNikita Popov <nikic@php.net>
Sat, 16 Jul 2016 21:16:20 +0000 (23:16 +0200)
ext/intl/collator/collator_sort.c

index 69629558d1ff5a36d9bfeea8a6827811aea08795..4fc5f6a8e8bf4105652fe74a70bc89bcbb82ea17 100644 (file)
@@ -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 );