mirror of
https://github.com/php/php-src.git
synced 2024-09-22 18:37:25 +00:00
Closes PECL #5944; binding an invalid parameter can lead to segfaults.
Modified patch provided by curt@php.net.
This commit is contained in:
parent
c95360658f
commit
0bd9518f8c
@ -328,7 +328,17 @@ static int really_register_bound_param(struct pdo_bound_param_data *param, pdo_s
|
||||
|
||||
/* tell the driver we just created a parameter */
|
||||
if (stmt->methods->param_hook) {
|
||||
return stmt->methods->param_hook(stmt, pparam, PDO_PARAM_EVT_ALLOC TSRMLS_CC);
|
||||
if (!stmt->methods->param_hook(stmt, pparam,
|
||||
PDO_PARAM_EVT_ALLOC TSRMLS_CC)) {
|
||||
/* driver indicates that the parameter doesn't exist.
|
||||
* remove it from our hash */
|
||||
if (pparam->name) {
|
||||
zend_hash_del(hash, pparam->name, pparam->namelen);
|
||||
} else {
|
||||
zend_hash_index_del(hash, pparam->paramno);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
Loading…
Reference in New Issue
Block a user