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

Variables

None

Stats

MD5 077d85a37bc76093395d79f893190a61
Eval Count 0
Decode Time 67 ms