From 3e93cd9fd739d8f46093295ffd9c3d8e8411116d Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Mon, 3 Mar 2014 16:46:18 +0800 Subject: [PATCH] Fixed serval segfaults --- ext/standard/basic_functions.c | 4 ++-- ext/standard/url_scanner_ex.c | 2 +- ext/standard/url_scanner_ex.re | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index fc2198edaf..61d1225c1e 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -6008,7 +6008,7 @@ PHP_FUNCTION(parse_ini_file) array_init(return_value); if (zend_parse_ini_file(&fh, 0, scanner_mode, ini_parser_cb, return_value TSRMLS_CC) == FAILURE) { zend_hash_destroy(Z_ARRVAL_P(return_value)); - efree(Z_ARRVAL_P(return_value)); + zval_dtor(return_value); RETURN_FALSE; } } @@ -6048,7 +6048,7 @@ PHP_FUNCTION(parse_ini_string) array_init(return_value); if (zend_parse_ini_string(string, 0, scanner_mode, ini_parser_cb, return_value TSRMLS_CC) == FAILURE) { zend_hash_destroy(Z_ARRVAL_P(return_value)); - efree(Z_ARRVAL_P(return_value)); + zval_dtor(return_value); RETVAL_FALSE; } efree(string); diff --git a/ext/standard/url_scanner_ex.c b/ext/standard/url_scanner_ex.c index e79ab89a62..cbaedbe69c 100644 --- a/ext/standard/url_scanner_ex.c +++ b/ext/standard/url_scanner_ex.c @@ -1018,7 +1018,7 @@ static void php_url_scanner_output_handler(char *output, uint output_len, char * PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC) { - smart_str val; + smart_str val = {0}; zend_string *encoded; if (BG(url_adapt_state_ex).active) { diff --git a/ext/standard/url_scanner_ex.re b/ext/standard/url_scanner_ex.re index 556e172cab..6e8aa44895 100644 --- a/ext/standard/url_scanner_ex.re +++ b/ext/standard/url_scanner_ex.re @@ -470,7 +470,7 @@ static void php_url_scanner_output_handler(char *output, uint output_len, char * PHPAPI int php_url_scanner_add_var(char *name, int name_len, char *value, int value_len, int urlencode TSRMLS_DC) { - smart_str val; + smart_str val = {0}; zend_string *encoded; if (BG(url_adapt_state_ex).active) { -- 2.40.0