Fixed segfault
authorXinchen Hui <laruence@php.net>
Mon, 29 Sep 2014 04:06:56 +0000 (12:06 +0800)
committerXinchen Hui <laruence@php.net>
Mon, 29 Sep 2014 04:06:56 +0000 (12:06 +0800)
Zend/zend_API.c

index 41adbeba8ffc4a43bdd844ebe70e2395e710dfaf..7c062a107e956eb7aa2bbcdf21fa7ea36beef2b9 100644 (file)
@@ -3926,9 +3926,11 @@ ZEND_API int zend_update_static_property(zend_class_entry *scope, const char *na
                                zval garbage;
 
                                ZVAL_COPY_VALUE(&garbage, property);
-                               Z_ADDREF_P(value);
-                               if (Z_ISREF_P(value)) {
-                                       SEPARATE_ZVAL(value);
+                               if (Z_REFCOUNTED_P(value)) {
+                                       Z_ADDREF_P(value);
+                                       if (Z_ISREF_P(value)) {
+                                               SEPARATE_ZVAL(value);
+                                       }
                                }
                                ZVAL_COPY_VALUE(property, value);
                                zval_ptr_dtor(&garbage);