From 7c8de803d00c00ab1840b935ef95e7a89c8d69cb Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sun, 22 Jan 2006 23:48:02 +0000 Subject: [PATCH] - Fix memory leaks --- ext/pdo/pdo_stmt.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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)); } /* }}} */ -- 2.50.1