From: Xinchen Hui Date: Mon, 19 May 2014 06:44:59 +0000 (+0800) Subject: Fixed segfault X-Git-Tag: POST_PHPNG_MERGE~323^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed554704f3d50768653bbb0c17cc7b47e08dc790;p=php Fixed segfault --- diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index c6843c29ca..57903104f5 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -983,7 +983,6 @@ static void _php_pgsql_notice_ptr_dtor(zval *el) if (notice) { efree(notice->message); efree(notice); - notice = NULL; } } /* }}} */ @@ -1273,8 +1272,10 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) int i, connect_type = 0; PGresult *pg_result; + args = (zval *)safe_emalloc(ZEND_NUM_ARGS(), sizeof(zval), 0); if (ZEND_NUM_ARGS() < 1 || ZEND_NUM_ARGS() > 5 || zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE) { + efree(args); WRONG_PARAM_COUNT; } @@ -1318,6 +1319,7 @@ static void php_pgsql_do_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) break; } } + efree(args); if (persistent && PGG(allow_persistent)) { zend_resource *le;