From 201c26283ca9978bc71d7608e24a5011e17ad0e5 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Sun, 8 Feb 2009 19:30:01 +0000 Subject: [PATCH] - Fixed bug #47341: Calling gc_collect_cycles() with zend.enable_gc=0 causes segfault. --- Zend/tests/gc_031.phpt | 11 +++++++++++ Zend/zend_gc.c | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 Zend/tests/gc_031.phpt diff --git a/Zend/tests/gc_031.phpt b/Zend/tests/gc_031.phpt new file mode 100644 index 0000000000..58c4b15e3a --- /dev/null +++ b/Zend/tests/gc_031.phpt @@ -0,0 +1,11 @@ +--TEST-- +GC 031: gc_collect_roots() with GC turned off. +--INI-- +zend.enable_gc=0 +--FILE-- + +--EXPECTF-- +DONE diff --git a/Zend/zend_gc.c b/Zend/zend_gc.c index 69fbe16603..5475edb3d4 100644 --- a/Zend/zend_gc.c +++ b/Zend/zend_gc.c @@ -527,7 +527,7 @@ ZEND_API int gc_collect_cycles(TSRMLS_D) { int count = 0; - if (GC_G(roots).next != &GC_G(roots)) { + if (GC_G(roots).next != &GC_G(roots) && GC_G(roots).next) { zval_gc_info *p, *q, *orig_free_list, *orig_next_to_free; if (GC_G(gc_active)) { -- 2.50.1