From 0f36224beb61b8d0b189c447bdb44ee2d73be637 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 29 Jun 2013 21:51:54 +0200 Subject: Don't try to clean up generator stack on unclean shutdown This fixes bugs #65035 and #65161. In one of the bugs the issue is that function_state.arguments is NULL, but the arg count is pushed to the stack and the code tries to free it. In the other bug the stack of the generator is freed twice, once in generator_close and later during shutdown. It's rather hard (if at all possible) to do a proper stack cleanup on an unclean shutdown, so I'm just disabling it in this case. --- Zend/tests/generators/bug65035.phpt | 20 ++++++++++++++++++++ Zend/tests/generators/bug65161.phpt | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Zend/tests/generators/bug65035.phpt create mode 100644 Zend/tests/generators/bug65161.phpt (limited to 'Zend/tests/generators') diff --git a/Zend/tests/generators/bug65035.phpt b/Zend/tests/generators/bug65035.phpt new file mode 100644 index 0000000000..18276cc23a --- /dev/null +++ b/Zend/tests/generators/bug65035.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #65035: yield / exit segfault +--FILE-- +current(); + +?> +--EXPECT-- +Done diff --git a/Zend/tests/generators/bug65161.phpt b/Zend/tests/generators/bug65161.phpt new file mode 100644 index 0000000000..215c1880e3 --- /dev/null +++ b/Zend/tests/generators/bug65161.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #65161: Generator + autoload + syntax error = segfault +--FILE-- + +--EXPECTF-- +Fatal error: Call to undefined function foo() in %s on line %d -- cgit v1.2.1