From: Nikita Popov Date: Fri, 11 Apr 2014 17:53:14 +0000 (+0200) Subject: Fix argument unpacking X-Git-Tag: POST_PHPNG_MERGE~412^2~112 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2c6ee5dcb57ab38a85c842f83b2b8298bc687224;p=php Fix argument unpacking --- diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index e4090081a6..1fb209a650 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1690,6 +1690,7 @@ static zval *zend_vm_stack_push_args_with_copy(int count TSRMLS_DC) /* {{{ */ ZVAL_LONG(EG(argument_stack)->top, count); while (count-- > 0) { zval *data = --p->top; + ZVAL_COPY_VALUE(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) + count, data); if (UNEXPECTED(p->top == ZEND_VM_STACK_ELEMETS(p))) { zend_vm_stack r = p; @@ -1698,7 +1699,6 @@ static zval *zend_vm_stack_push_args_with_copy(int count TSRMLS_DC) /* {{{ */ p = p->prev; efree(r); } - ZVAL_COPY_VALUE(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) + count, data); } return EG(argument_stack)->top++; }