From: Dmitry Stogov Date: Wed, 16 Apr 2014 17:31:32 +0000 (+0400) Subject: Prevented modification of constant arguments X-Git-Tag: POST_PHPNG_MERGE~412^2~82^2~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2d62a121289c248f3aa9adc1336f13e68ca8c1c6;p=php Prevented modification of constant arguments --- diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 3e9d9378b6..cf8889e0df 100644 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -110,10 +110,10 @@ ZEND_API zval* zend_call_method(zval *object, zend_class_entry *obj_ce, zend_fun } } /* copy arguments back, they might be changed by references */ - if (param_count > 0) { + if (param_count > 0 && Z_ISREF(params[0]) && !Z_ISREF_P(arg1)) { ZVAL_COPY_VALUE(arg1, ¶ms[0]); } - if (param_count > 1) { + if (param_count > 1 && Z_ISREF(params[1]) && !Z_ISREF_P(arg2)) { ZVAL_COPY_VALUE(arg2, ¶ms[1]); } if (!retval_ptr) {