summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2015-11-30 10:50:23 +0800
committerXinchen Hui <laruence@gmail.com>2015-11-30 10:50:23 +0800
commit5df6f9f20ee571caf30c005fc2eae5eb780ba002 (patch)
tree00e9f316077591a9bb801d1272980d565bd88f67
parente6e77d9e275ce422edebf15bafd7e33cd7c73627 (diff)
downloadphp-git-5df6f9f20ee571caf30c005fc2eae5eb780ba002.tar.gz
Fixed bug #70993 (Array key references break argument processing)
-rw-r--r--NEWS4
-rw-r--r--ext/soap/soap.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index e19defa0f4..c5aa1f30fd 100644
--- a/NEWS
+++ b/NEWS
@@ -50,6 +50,10 @@ PHP NEWS
- Streams/Socket
. Add IPV6_V6ONLY constant / make it usable in stream contexts. (Bob)
+- Soap:
+ . Fixed bug #70993 (Array key references break argument processing).
+ (Laruence)
+
26 Nov 2015, PHP 7.0.0 RC 8
- Core:
diff --git a/ext/soap/soap.c b/ext/soap/soap.c
index 4c746aaf29..b6fc5a0f3d 100644
--- a/ext/soap/soap.c
+++ b/ext/soap/soap.c
@@ -2941,6 +2941,7 @@ PHP_METHOD(SoapClient, __call)
real_args = safe_emalloc(sizeof(zval), arg_count, 0);
ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(args), param) {
/*zval_add_ref(param);*/
+ ZVAL_DEREF(param);
ZVAL_COPY_VALUE(&real_args[i], param);
i++;
} ZEND_HASH_FOREACH_END();