Annotation of embedaddon/php/Zend/tests/bug21478.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #21478 (Zend/zend_alloc.c :: shutdown_memory_manager produces segfault)
! 3: --SKIPIF--
! 4: <?php
! 5: if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed');
! 6: if (!function_exists('stream_filter_register')) die('skip stream_filter_register() not available');
! 7: ?>
! 8: --FILE--
! 9: <?php
! 10: class debugfilter extends php_user_filter {
! 11: function filter($in, $out, &$consumed, $closing) {
! 12: while ($bucket = stream_bucket_make_writeable($in)) {
! 13: $bucket->data = strtoupper($bucket->data);
! 14: stream_bucket_append($out, $bucket);
! 15: $consumed += strlen($bucket->data);
! 16: }
! 17: return PSFS_PASS_ON;
! 18: }
! 19: }
! 20:
! 21: stream_filter_register("myfilter","debugfilter");
! 22:
! 23: $fp = fopen(dirname(__FILE__)."/test.txt","w");
! 24: stream_filter_append($fp, "myfilter");
! 25: stream_filter_append($fp, "myfilter");
! 26: stream_filter_append($fp, "myfilter");
! 27: fwrite($fp, "This is a test.\n");
! 28: print "Done.\n";
! 29: fclose($fp);
! 30: // Uncommenting the following 'print' line causes the segfault to stop occuring
! 31: // print "2\n";
! 32: readfile(dirname(__FILE__)."/test.txt");
! 33: unlink(dirname(__FILE__)."/test.txt");
! 34: ?>
! 35: --EXPECT--
! 36: Done.
! 37: THIS IS A TEST.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>