From 204f9e1a7429526b5ed8ff3f4cd65df0146a5da7 Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Tue, 20 Nov 2007 23:12:17 +0000 Subject: [PATCH] Adjusted fix for bug #42978 --- ext/pdo/pdo_stmt.c | 5 ----- ext/pdo_pgsql/pgsql_statement.c | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c index d43a0e443c..35f3232c20 100755 --- a/ext/pdo/pdo_stmt.c +++ b/ext/pdo/pdo_stmt.c @@ -168,11 +168,6 @@ static int dispatch_param_event(pdo_stmt_t *stmt, enum pdo_param_event event_typ iterate: if (ht) { - if (zend_hash_num_elements(stmt->bound_param_map) != zend_hash_num_elements(ht)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Number of bound paramters %d does not match number of bound values %d", zend_hash_num_elements(stmt->bound_param_map), zend_hash_num_elements(ht)); - return 0; - } - zend_hash_internal_pointer_reset(ht); while (SUCCESS == zend_hash_get_current_data(ht, (void**)¶m)) { if (!stmt->methods->param_hook(stmt, param, event_type TSRMLS_CC)) { diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index 0a84bd3258..b640974d44 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -265,6 +265,11 @@ static int pgsql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data * sizeof(Oid)); } if (param->paramno >= 0) { + if (param->paramno > zend_hash_num_elements(stmt->bound_param_map)) { + pdo_pgsql_error_stmt(stmt, PGRES_FATAL_ERROR, "HY105"); + return 0; + } + if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_LOB && Z_TYPE_P(param->parameter) == IS_RESOURCE) { php_stream *stm; -- 2.50.1