]> granicus.if.org Git - php/commitdiff
Fixed reference counting
authorDmitry Stogov <dmitry@zend.com>
Mon, 14 Apr 2014 21:16:09 +0000 (01:16 +0400)
committerDmitry Stogov <dmitry@zend.com>
Mon, 14 Apr 2014 21:16:09 +0000 (01:16 +0400)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 610b46c58e3a30a88ff867f8813736ceca625a39..410e24c22f4f2634d258afc66cb012008fbab679 100644 (file)
@@ -3737,7 +3737,7 @@ ZEND_VM_HANDLER(72, ZEND_ADD_ARRAY_ELEMENT, CONST|TMP|VAR|CV, CONST|TMP|VAR|UNUS
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = GET_OP1_ZVAL_PTR_DEREF(BP_VAR_R);
+               expr_ptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
                if (IS_OP1_TMP_FREE()) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
index a6d1be22705d184c48fd97a295804931c38cb3fe..c84671c685a22c6032311e65c1a6ed74c6b57864 100644 (file)
@@ -15208,7 +15208,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CONST_HANDLER(ZEND_OPC
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -17392,7 +17392,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMP_HANDLER(ZEND_OPCOD
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -19636,7 +19636,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_VAR_HANDLER(ZEND_OPCOD
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -21062,7 +21062,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_UNUSED_HANDLER(ZEND_OP
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -23052,7 +23052,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CV_HANDLER(ZEND_OPCODE
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -32386,7 +32386,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST_HANDLER(ZEND_OPCO
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -34449,7 +34449,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMP_HANDLER(ZEND_OPCODE
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -36571,7 +36571,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_VAR_HANDLER(ZEND_OPCODE
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -37879,7 +37879,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_UNUSED_HANDLER(ZEND_OPC
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;
@@ -39730,7 +39730,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV_HANDLER(ZEND_OPCODE_
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
                Z_ADDREF_P(expr_ptr);
        } else {
-               expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
+               expr_ptr = _get_zval_ptr_cv_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
                        ZVAL_COPY_VALUE(&new_expr, expr_ptr);
                        expr_ptr = &new_expr;