Browse Source

sigh... need to include the null byte in hash keys

PHP-5.0
George Schlossnagle 23 years ago
parent
commit
e155ad208a
  1. 5
      ext/pdo/pdo_stmt.c

5
ext/pdo/pdo_stmt.c

@ -502,6 +502,7 @@ static PHP_METHOD(PDOStatement, fetchAll)
static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt, int is_param)
{
struct pdo_bound_param_data param = {0};
int name_strlen;
param.paramno = -1;
param.param_type = PDO_PARAM_STR;
@ -509,7 +510,7 @@ static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt,
if (stmt->dbh->placeholders_can_be_strings || !is_param) {
if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
ZEND_NUM_ARGS() TSRMLS_CC, "sz|llz!",
&param.name, &param.namelen, &param.parameter, &param.param_type,
&param.name, &name_strlen, &param.parameter, &param.param_type,
&param.max_value_len,
&param.driver_params)) {
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|llz!", &param.paramno,
@ -517,6 +518,8 @@ static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt,
return 0;
}
}
/* since we're hashing this, we need the null byte too */
param.namelen = name_strlen + 1;
} else if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|llz!", &param.paramno,
&param.parameter, &param.param_type, &param.max_value_len, &param.driver_params)) {
return 0;

Loading…
Cancel
Save