]> granicus.if.org Git - php/commitdiff
prevent potential leak on error
authorAntony Dovgal <tony2001@php.net>
Thu, 21 Dec 2006 00:43:00 +0000 (00:43 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 21 Dec 2006 00:43:00 +0000 (00:43 +0000)
sapi/cli/php_cli.c

index 2793494b839a59c274e20676aa049f6070042bc2..f4773ba63767bfbee42794658abcdd8acb2ff773 100644 (file)
@@ -484,6 +484,12 @@ static void cli_register_file_handles(TSRMLS_D)
        s_err = php_stream_open_wrapper_ex("php://stderr", "wb", 0, NULL, sc_err);
 
        if (s_in==NULL || s_out==NULL || s_err==NULL) {
+               FREE_ZVAL(zin);
+               FREE_ZVAL(zout);
+               FREE_ZVAL(zerr);
+               if (s_in) php_stream_close(s_in);
+               if (s_out) php_stream_close(s_out);
+               if (s_err) php_stream_close(s_err);
                return;
        }