summaryrefslogtreecommitdiff
path: root/ext/pdo_pgsql/pgsql_statement.c
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2007-11-20 23:12:17 +0000
committerIlia Alshanetsky <iliaa@php.net>2007-11-20 23:12:17 +0000
commit204f9e1a7429526b5ed8ff3f4cd65df0146a5da7 (patch)
tree4d6124b957a478af76deda83b7aaf6282399c02b /ext/pdo_pgsql/pgsql_statement.c
parentcbf466a9530d7c2ff0a522c0c17c9d826824b1f9 (diff)
downloadphp-git-204f9e1a7429526b5ed8ff3f4cd65df0146a5da7.tar.gz
Adjusted fix for bug #42978
Diffstat (limited to 'ext/pdo_pgsql/pgsql_statement.c')
-rw-r--r--ext/pdo_pgsql/pgsql_statement.c5
1 files changed, 5 insertions, 0 deletions
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;