diff options
| -rw-r--r-- | Zend/tests/bug24635.phpt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Zend/tests/bug24635.phpt b/Zend/tests/bug24635.phpt new file mode 100644 index 0000000000..9c1c1c5394 --- /dev/null +++ b/Zend/tests/bug24635.phpt @@ -0,0 +1,30 @@ +--TEST-- +Bug #24635: crash on dtor calling other functions +--SKIPIF-- +<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?> +--FILE-- +<?php +class SiteClass { + function __construct() { $this->page = new PageClass(); } +} +class PageClass { + function Display() { + $section = new SectionClass("PageClass::Display"); + } +} +class SectionClass { + function __construct($comment) { + $this->Comment = $comment; + } + function __destruct() { + out($this->Comment); // this line doesn't crash PHP + out("\n<!-- End Section: " . $this->Comment . "-->"); // this line + } +} +function out($code) { return; } +$site = new SiteClass(); +$site->page->Display(); +echo "OK\n"; +?> +--EXPECT-- +OK |
