From: Marcus Boerger Date: Sun, 22 Jan 2006 23:48:02 +0000 (+0000) Subject: - Fix memory leaks X-Git-Tag: RELEASE_0_9_4~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7c8de803d00c00ab1840b935ef95e7a89c8d69cb;p=php - Fix memory leaks --- diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 627cdb478a..568c917730 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -283,7 +283,6 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s param->stmt = stmt; param->is_param = is_param; - ZVAL_ADDREF(param->parameter); if (param->driver_params) { ZVAL_ADDREF(param->driver_params); } @@ -380,6 +379,7 @@ static PHP_METHOD(PDOStatement, execute) INIT_PZVAL(param.parameter); if (!really_register_bound_param(¶m, stmt, 1 TSRMLS_CC)) { + zval_ptr_dtor(¶m.parameter); RETURN_FALSE; } @@ -1415,6 +1415,7 @@ static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt, return 0; } + ZVAL_ADDREF(param.parameter); return really_register_bound_param(¶m, stmt, is_param TSRMLS_CC); } /* }}} */ @@ -1443,6 +1444,7 @@ static PHP_METHOD(PDOStatement, bindValue) RETURN_FALSE; } + ZVAL_ADDREF(param.parameter); RETURN_BOOL(really_register_bound_param(¶m, stmt, TRUE TSRMLS_CC)); } /* }}} */