]> granicus.if.org Git - php/commitdiff
destroy return_value and fix leak in array_fill()
authorAntony Dovgal <tony2001@php.net>
Thu, 23 Dec 2004 16:35:48 +0000 (16:35 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 23 Dec 2004 16:35:48 +0000 (16:35 +0000)
ext/standard/array.c

index 587fc92b163abb4003b44727060d1d8fd6ac1fdc..93b9cd28ff3f488099a0818ef18d898e37f50a3d 100644 (file)
@@ -1542,6 +1542,8 @@ PHP_FUNCTION(array_fill)
        convert_to_long_ex(num);
        i = Z_LVAL_PP(num) - 1; 
        if (i < 0) {
+               zend_hash_destroy(Z_ARRVAL_P(return_value));
+               efree(Z_ARRVAL_P(return_value));
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Number of elements must be positive");
                RETURN_FALSE;
        }