diff options
author | Xinchen Hui <laruence@php.net> | 2013-08-02 18:39:58 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2013-08-02 18:39:58 +0800 |
commit | 78673d1badd39362dff15d4124d7df0cbcec862f (patch) | |
tree | 791d4f7b5e2d505fa0cdeb49dca1dd6c1e11dded /Zend/zend_vm_def.h | |
parent | fbd01eaecf5685911166f406a14a118acf345acf (diff) | |
parent | 6f1a762fab8dc42b0d2190cb3cbf89da8e0903e5 (diff) | |
download | php-git-78673d1badd39362dff15d4124d7df0cbcec862f.tar.gz |
Merge branch 'PHP-5.5'
Diffstat (limited to 'Zend/zend_vm_def.h')
-rw-r--r-- | Zend/zend_vm_def.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index 6173e8bff9..ba5f31b1fb 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2925,9 +2925,11 @@ ZEND_VM_HANDLER(111, ZEND_RETURN_BY_REF, CONST|TMP|VAR|CV, ANY) } else if (EX_T(opline->op1.var).var.ptr_ptr == &EX_T(opline->op1.var).var.ptr) { zend_error(E_NOTICE, "Only variable references should be returned by reference"); if (EG(return_value_ptr_ptr)) { - retval_ptr = *retval_ptr_ptr; - *EG(return_value_ptr_ptr) = retval_ptr; - Z_ADDREF_P(retval_ptr); + zval *ret; + + ALLOC_ZVAL(ret); + INIT_PZVAL_COPY(ret, *retval_ptr_ptr); + *EG(return_value_ptr_ptr) = ret; } break; } |