summaryrefslogtreecommitdiff
path: root/ext/mysqlnd/mysqlnd_ps_codec.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2014-06-19 14:24:49 +0800
committerXinchen Hui <laruence@php.net>2014-06-19 14:24:49 +0800
commit049e52f19b5854d6b9bce8ada3c3cb1a1bd01d56 (patch)
tree2808324a92a4a33f31c212949ad34c4f825f1546 /ext/mysqlnd/mysqlnd_ps_codec.c
parentb7b5fa111b9966fa7690f9b0ab500747cdf58305 (diff)
downloadphp-git-049e52f19b5854d6b9bce8ada3c3cb1a1bd01d56.tar.gz
Fixed various bugs
Diffstat (limited to 'ext/mysqlnd/mysqlnd_ps_codec.c')
-rw-r--r--ext/mysqlnd/mysqlnd_ps_codec.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/ext/mysqlnd/mysqlnd_ps_codec.c b/ext/mysqlnd/mysqlnd_ps_codec.c
index 13b44d10a9..234cec4fb7 100644
--- a/ext/mysqlnd/mysqlnd_ps_codec.c
+++ b/ext/mysqlnd/mysqlnd_ps_codec.c
@@ -505,6 +505,7 @@ mysqlnd_stmt_copy_it(zval ** copies, zval * original, unsigned int param_count,
*copies = mnd_ecalloc(param_count, sizeof(zval));
}
if (*copies) {
+ ZVAL_DEREF(original);
ZVAL_COPY(&(*copies)[current], original);
//????Z_SET_REFCOUNT_P((*copies)[current], 1);
//zval_copy_ctor((*copies)[current]);
@@ -587,6 +588,7 @@ mysqlnd_stmt_execute_prepare_param_types(MYSQLND_STMT_DATA * stmt, zval ** copie
value is too big for a long. As said, precision could be lost.
*/
zval tmp_data_copy;
+ ZVAL_DEREF(tmp_data);
ZVAL_COPY(&tmp_data_copy, tmp_data);
convert_to_double_ex(&tmp_data_copy);