]> granicus.if.org Git - php/commitdiff
plug multiple leaks
authorAntony Dovgal <tony2001@php.net>
Tue, 6 Dec 2005 10:21:52 +0000 (10:21 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 6 Dec 2005 10:21:52 +0000 (10:21 +0000)
(you need to destroy the zval before changing its type manually)

ext/filter/callback_filter.c
ext/filter/sanitizing_filters.c

index f2cbc35f9be77a6dbd425827d243c00f61a45a24..fe5c1fb39bd06cb737dcafd53ca3dd9940488dfe 100644 (file)
@@ -28,6 +28,7 @@ void php_filter_callback(PHP_INPUT_FILTER_PARAM_DECL)
        if (!option_array || !zend_is_callable(option_array, IS_CALLABLE_CHECK_NO_ACCESS, &name)) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "First argument is expected to be a valid callback");
                efree(name);
+               zval_dtor(value);
                Z_TYPE_P(value) = IS_NULL;
                return;
        }
index 1b5b920d6da9a734b703e24ac175bd8d4d95250b..992d00a3039eafb17d6854338a906956becff526 100644 (file)
@@ -180,6 +180,7 @@ void php_filter_string(PHP_INPUT_FILTER_PARAM_DECL)
        Z_STRLEN_P(value) = new_len;
 
        if (new_len == 0) {
+               zval_dtor(value);
                Z_TYPE_P(value) = IS_NULL;
                return;
        }