]> granicus.if.org Git - php/commitdiff
Fixed support for references
authorDmitry Stogov <dmitry@zend.com>
Mon, 16 Jun 2014 09:08:48 +0000 (13:08 +0400)
committerDmitry Stogov <dmitry@zend.com>
Mon, 16 Jun 2014 09:08:48 +0000 (13:08 +0400)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 60d7401148a48a1a1414e4f28a09c5d342f0873f..690a8269b9f1c8e9193086404ec5c9b6d340e782 100644 (file)
@@ -3543,7 +3543,7 @@ ZEND_VM_HANDLER(110, ZEND_CLONE, CONST|TMP|VAR|UNUSED|CV, ANY)
        zend_object_clone_obj_t clone_call;
 
        SAVE_OPLINE();
-       obj = GET_OP1_OBJ_ZVAL_PTR(BP_VAR_R);
+       obj = GET_OP1_OBJ_ZVAL_PTR_DEREF(BP_VAR_R);
 
        if (OP1_TYPE == IS_CONST ||
            UNEXPECTED(Z_TYPE_P(obj) != IS_OBJECT)) {
index ccf26e9ee0a1ca7d55c25ed1a28f01e0fcea56f1..e37cba17aeaa8a6bcf6cf95413e97d549f85774f 100644 (file)
@@ -13190,7 +13190,7 @@ static int ZEND_FASTCALL  ZEND_CLONE_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
        zend_object_clone_obj_t clone_call;
 
        SAVE_OPLINE();
-       obj = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
+       obj = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
 
        if (IS_VAR == IS_CONST ||
            UNEXPECTED(Z_TYPE_P(obj) != IS_OBJECT)) {
@@ -30315,7 +30315,7 @@ static int ZEND_FASTCALL  ZEND_CLONE_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
        zend_object_clone_obj_t clone_call;
 
        SAVE_OPLINE();
-       obj = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
+       obj = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
 
        if (IS_CV == IS_CONST ||
            UNEXPECTED(Z_TYPE_P(obj) != IS_OBJECT)) {