From 049e52f19b5854d6b9bce8ada3c3cb1a1bd01d56 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 19 Jun 2014 14:24:49 +0800 Subject: Fixed various bugs --- ext/mysqlnd/mysqlnd_ps_codec.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'ext/mysqlnd/mysqlnd_ps_codec.c') 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); -- cgit v1.2.1