Annotation of embedaddon/php/ext/standard/tests/general_functions/bug32647.phpt, revision 1.1.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>