Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
--TEST-- Bug #42976 (Crash when constructor for newInstance() or newInstanceArgs() fails) ..
Decoded Output download
--TEST--
Bug #42976 (Crash when constructor for newInstance() or newInstanceArgs() fails)
--FILE--
<?php
Class C {
function __construct(&$x) {
$x = "x.changed";
}
}
$x = "x.original";
new C($x); // OK
var_dump($x);
$rc = new ReflectionClass('C');
$x = "x.original";
$rc->newInstance($x); // causes crash
var_dump($x);
$x = "x.original";
$rc->newInstanceArgs(array($x)); // causes crash
var_dump($x);
echo "Done
";
?>
--EXPECTF--
string(9) "x.changed"
Warning: C::__construct(): Argument #1 ($x) must be passed by reference, value given in %s on line %d
string(10) "x.original"
Warning: C::__construct(): Argument #1 ($x) must be passed by reference, value given in %s on line %d
string(10) "x.original"
Done
Did this file decode correctly?
Original Code
--TEST--
Bug #42976 (Crash when constructor for newInstance() or newInstanceArgs() fails)
--FILE--
<?php
Class C {
function __construct(&$x) {
$x = "x.changed";
}
}
$x = "x.original";
new C($x); // OK
var_dump($x);
$rc = new ReflectionClass('C');
$x = "x.original";
$rc->newInstance($x); // causes crash
var_dump($x);
$x = "x.original";
$rc->newInstanceArgs(array($x)); // causes crash
var_dump($x);
echo "Done\n";
?>
--EXPECTF--
string(9) "x.changed"
Warning: C::__construct(): Argument #1 ($x) must be passed by reference, value given in %s on line %d
string(10) "x.original"
Warning: C::__construct(): Argument #1 ($x) must be passed by reference, value given in %s on line %d
string(10) "x.original"
Done
Function Calls
None |
Stats
MD5 | 077d85a37bc76093395d79f893190a61 |
Eval Count | 0 |
Decode Time | 67 ms |