]> granicus.if.org Git - php/commitdiff
Fixed macro
authorDmitry Stogov <dmitry@zend.com>
Wed, 9 Apr 2014 18:23:22 +0000 (22:23 +0400)
committerDmitry Stogov <dmitry@zend.com>
Wed, 9 Apr 2014 18:23:22 +0000 (22:23 +0400)
Zend/zend.h

index 71b80c3e797181a51fb40689263082b33cbf824d..6580aa0f6b1ffedf0fe19757c96ad8d7ab01fd60 100644 (file)
@@ -799,7 +799,9 @@ END_EXTERN_C()
 #define SEPARATE_ARG_IF_REF(varptr) do {                               \
                zval *_varptr = (varptr);                                               \
                if (Z_ISREF_P(_varptr)) {                                               \
-                       ZVAL_DUP(_varptr, Z_REFVAL_P(_varptr));         \
+                       zval tmp;                                                                       \
+                       ZVAL_DUP(&tmp, Z_REFVAL_P(_varptr));            \
+                       varptr = &tmp;                                                          \
                } else if (Z_REFCOUNTED_P(_varptr)) {                   \
                        Z_ADDREF_P(_varptr);                                            \
                }                                                                                               \