From ed554704f3d50768653bbb0c17cc7b47e08dc790 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Mon, 19 May 2014 14:44:59 +0800 Subject: [PATCH] Fixed segfault --- ext/pgsql/pgsql.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; -- 2.50.1