summaryrefslogtreecommitdiff
path: root/ext/pdo
diff options
context:
space:
mode:
authorFelipe Pena <felipe@php.net>2010-08-25 22:03:03 +0000
committerFelipe Pena <felipe@php.net>2010-08-25 22:03:03 +0000
commitcbe9f57a17c8646418268fdd4bb64c5b6cd9bad8 (patch)
tree1dcf1a3d5b9213a38ed742017a6b4b65f9252c37 /ext/pdo
parent721f6dae57a79ce8e022e811d8cdb24b6c605123 (diff)
downloadphp-git-cbe9f57a17c8646418268fdd4bb64c5b6cd9bad8.tar.gz
- Fixed bug #52699 (PDO bindValue writes long int 32bit enum)
Diffstat (limited to 'ext/pdo')
-rwxr-xr-xext/pdo/pdo_stmt.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ext/pdo/pdo_stmt.c b/ext/pdo/pdo_stmt.c
index 6127a443dc..c57a14a781 100755
--- a/ext/pdo/pdo_stmt.c
+++ b/ext/pdo/pdo_stmt.c
@@ -1624,18 +1624,20 @@ static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt,
static PHP_METHOD(PDOStatement, bindValue)
{
struct pdo_bound_param_data param = {0};
+ long param_type = PDO_PARAM_STR;
PHP_STMT_GET_OBJ;
param.paramno = -1;
- param.param_type = PDO_PARAM_STR;
if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC,
- "lz/|l", &param.paramno, &param.parameter, &param.param_type)) {
+ "lz/|l", &param.paramno, &param.parameter, &param_type)) {
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sz/|l", &param.name,
- &param.namelen, &param.parameter, &param.param_type)) {
+ &param.namelen, &param.parameter, &param_type)) {
RETURN_FALSE;
}
}
+
+ param.param_type = (int) param_type;
if (param.paramno > 0) {
--param.paramno; /* make it zero-based internally */