From: Ilia Alshanetsky Date: Tue, 1 Aug 2006 15:06:01 +0000 (+0000) Subject: Fixed memory leak on unused bound name parameters. X-Git-Tag: php-5.2.0RC2~127 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2b5a53d6b6a9d452a9370fd7c6308a5d083087f7;p=php Fixed memory leak on unused bound name parameters. --- diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index 9996da7ef6..203774600c 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -1538,7 +1538,11 @@ static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt, } ZVAL_ADDREF(param.parameter); - return really_register_bound_param(¶m, stmt, is_param TSRMLS_CC); + if (!really_register_bound_param(¶m, stmt, is_param TSRMLS_CC)) { + zval_ptr_dtor(&(param.parameter)); + return 0; + } + return 1; } /* }}} */ /* {{{ proto bool PDOStatement::bindValue(mixed $paramno, mixed $param [, int $type ]) @@ -1567,7 +1571,11 @@ static PHP_METHOD(PDOStatement, bindValue) } ZVAL_ADDREF(param.parameter); - RETURN_BOOL(really_register_bound_param(¶m, stmt, TRUE TSRMLS_CC)); + if (!really_register_bound_param(¶m, stmt, TRUE TSRMLS_CC)) { + zval_ptr_dtor(&(param.parameter)); + RETURN_FALSE; + } + RETURN_TRUE; } /* }}} */