Annotation of embedaddon/php/ext/standard/tests/general_functions/bug32647.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #32647 (Using register_shutdown_function() with invalid callback can crash PHP)
! 3: --INI--
! 4: error_reporting=4095
! 5: display_errors=1
! 6: --FILE--
! 7: <?php
! 8:
! 9: function foo()
! 10: {
! 11: echo "foo!\n";
! 12: }
! 13:
! 14: class bar
! 15: {
! 16: function barfoo ()
! 17: { echo "bar!\n"; }
! 18: }
! 19:
! 20: unset($obj);
! 21: register_shutdown_function(array($obj,"")); // Invalid
! 22: register_shutdown_function(array($obj,"some string")); // Invalid
! 23: register_shutdown_function(array(0,"")); // Invalid
! 24: register_shutdown_function(array('bar','foo')); // Invalid
! 25: register_shutdown_function(array(0,"some string")); // Invalid
! 26: register_shutdown_function('bar'); // Invalid
! 27: register_shutdown_function('foo'); // Valid
! 28: register_shutdown_function(array('bar','barfoo')); // Invalid
! 29:
! 30: $obj = new bar;
! 31: register_shutdown_function(array($obj,'foobar')); // Invalid
! 32: register_shutdown_function(array($obj,'barfoo')); // Valid
! 33:
! 34: ?>
! 35: --EXPECTF--
! 36: Notice: Undefined variable: obj in %s on line %d
! 37:
! 38: Warning: register_shutdown_function(): Invalid shutdown callback 'Array' passed in %s on line %d
! 39:
! 40: Notice: Undefined variable: obj in %s on line %d
! 41:
! 42: Warning: register_shutdown_function(): Invalid shutdown callback 'Array' passed in %s on line %d
! 43:
! 44: Warning: register_shutdown_function(): Invalid shutdown callback 'Array' passed in %s on line %d
! 45:
! 46: Warning: register_shutdown_function(): Invalid shutdown callback 'bar::foo' passed in %s on line %d
! 47:
! 48: Warning: register_shutdown_function(): Invalid shutdown callback 'Array' passed in %s on line %d
! 49:
! 50: Warning: register_shutdown_function(): Invalid shutdown callback 'bar' passed in %s on line %d
! 51:
! 52: Strict Standards: Non-static method bar::barfoo() should not be called statically in %sbug32647.php on line %d
! 53:
! 54: Warning: register_shutdown_function(): Invalid shutdown callback 'bar::foobar' passed in %sbug32647.php on line %d
! 55: foo!
! 56:
! 57: Strict Standards: Non-static method bar::barfoo() should not be called statically in Unknown on line 0
! 58:
! 59: Strict Standards: Non-static method bar::barfoo() should not be called statically in Unknown on line 0
! 60: bar!
! 61: bar!
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>