]> granicus.if.org Git - php/commitdiff
Fixed segfault
authorXinchen Hui <laruence@php.net>
Wed, 23 Jul 2014 03:05:03 +0000 (11:05 +0800)
committerXinchen Hui <laruence@php.net>
Wed, 23 Jul 2014 03:05:03 +0000 (11:05 +0800)
Zend/zend_variables.c

index b512c45672fa42d8d0c676d940e78d9c14490317..9f76d9f81244da55a4d9b4626995e56fc03699ca 100644 (file)
@@ -44,8 +44,8 @@ ZEND_API void _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC)
                                if (arr != &EG(symbol_table)) {
                                        /* break possible cycles */
                                        GC_TYPE(arr) = IS_NULL;
-                                       zend_hash_destroy(&arr->ht);
                                        GC_REMOVE_FROM_BUFFER(arr);
+                                       zend_hash_destroy(&arr->ht);
                                        efree(arr);
                                }
                                break;
@@ -104,8 +104,8 @@ ZEND_API void _zval_dtor_func_for_ptr(zend_refcounted *p ZEND_FILE_LINE_DC)
                                if (arr != &EG(symbol_table)) {
                                        /* break possible cycles */
                                        GC_TYPE(arr) = IS_NULL;
-                                       zend_hash_destroy(&arr->ht);
                                        GC_REMOVE_FROM_BUFFER(arr);
+                                       zend_hash_destroy(&arr->ht);
                                        efree(arr);
                                }
                                break;