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-- SPL: FixedArray: Non integer offset handling --FILE-- <?php $o = new SplFixedArra..
Decoded Output download
--TEST--
SPL: FixedArray: Non integer offset handling
--FILE--
<?php
$o = new SplFixedArray(10);
$r = fopen('php://memory', 'r+');
echo 'Write context', \PHP_EOL;
$o[false] = 'a';
$o[true] = 'b';
$o[2.5] = 'c';
try {
$o[[]] = 'd';
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
$o[new stdClass()] = 'e';
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
$o[$r] = 'f';
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
$o['3'] = 'g';
try {
$o['3.5'] = 'h';
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
$o['03'] = 'i';
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
$o[' 3'] = 'j';
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
echo 'Read context', \PHP_EOL;
var_dump($o[false]);
var_dump($o[true]);
var_dump($o[2.5]);
try {
var_dump($o[[]]);
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump($o[new stdClass()]);
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump($o[$r]);
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
var_dump($o['3']);
try {
var_dump($o['3.5']);
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump($o['03']);
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump($o[' 3']);
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
echo 'isset()', \PHP_EOL;
var_dump(isset($o[false]));
var_dump(isset($o[true]));
var_dump(isset($o[2.5]));
try {
var_dump(isset($o[[]]));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(isset($o[new stdClass()]));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(isset($o[$r]));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
var_dump(isset($o['3']));
try {
var_dump(isset($o['3.5']));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(isset($o['03']));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(isset($o[' 3']));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
echo 'empty()', \PHP_EOL;
var_dump(empty($o[false]));
var_dump(empty($o[true]));
var_dump(empty($o[2.5]));
try {
var_dump(empty($o[[]]));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(empty($o[new stdClass()]));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(empty($o[$r]));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
var_dump(empty($o['3']));
try {
var_dump(empty($o['3.5']));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(empty($o['03']));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
try {
var_dump(empty($o[' 3']));
} catch (\TypeError $e) {
echo $e->getMessage(), "
";
}
?>
--EXPECTF--
Write context
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
Illegal offset type
Illegal offset type
Illegal offset type
Read context
string(1) "a"
string(1) "b"
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
string(1) "c"
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
string(1) "f"
string(1) "g"
Illegal offset type
Illegal offset type
Illegal offset type
isset()
bool(true)
bool(true)
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
bool(true)
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
bool(true)
bool(true)
Illegal offset type
Illegal offset type
Illegal offset type
empty()
bool(false)
bool(false)
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
bool(false)
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
bool(false)
bool(false)
Illegal offset type
Illegal offset type
Illegal offset type
Did this file decode correctly?
Original Code
--TEST--
SPL: FixedArray: Non integer offset handling
--FILE--
<?php
$o = new SplFixedArray(10);
$r = fopen('php://memory', 'r+');
echo 'Write context', \PHP_EOL;
$o[false] = 'a';
$o[true] = 'b';
$o[2.5] = 'c';
try {
$o[[]] = 'd';
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
$o[new stdClass()] = 'e';
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
$o[$r] = 'f';
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
$o['3'] = 'g';
try {
$o['3.5'] = 'h';
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
$o['03'] = 'i';
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
$o[' 3'] = 'j';
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
echo 'Read context', \PHP_EOL;
var_dump($o[false]);
var_dump($o[true]);
var_dump($o[2.5]);
try {
var_dump($o[[]]);
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump($o[new stdClass()]);
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump($o[$r]);
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
var_dump($o['3']);
try {
var_dump($o['3.5']);
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump($o['03']);
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump($o[' 3']);
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
echo 'isset()', \PHP_EOL;
var_dump(isset($o[false]));
var_dump(isset($o[true]));
var_dump(isset($o[2.5]));
try {
var_dump(isset($o[[]]));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(isset($o[new stdClass()]));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(isset($o[$r]));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
var_dump(isset($o['3']));
try {
var_dump(isset($o['3.5']));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(isset($o['03']));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(isset($o[' 3']));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
echo 'empty()', \PHP_EOL;
var_dump(empty($o[false]));
var_dump(empty($o[true]));
var_dump(empty($o[2.5]));
try {
var_dump(empty($o[[]]));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(empty($o[new stdClass()]));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(empty($o[$r]));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
var_dump(empty($o['3']));
try {
var_dump(empty($o['3.5']));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(empty($o['03']));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
try {
var_dump(empty($o[' 3']));
} catch (\TypeError $e) {
echo $e->getMessage(), "\n";
}
?>
--EXPECTF--
Write context
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
Illegal offset type
Illegal offset type
Illegal offset type
Read context
string(1) "a"
string(1) "b"
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
string(1) "c"
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
string(1) "f"
string(1) "g"
Illegal offset type
Illegal offset type
Illegal offset type
isset()
bool(true)
bool(true)
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
bool(true)
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
bool(true)
bool(true)
Illegal offset type
Illegal offset type
Illegal offset type
empty()
bool(false)
bool(false)
Deprecated: Implicit conversion from float 2.5 to int loses precision in %s on line %d
bool(false)
Illegal offset type
Illegal offset type
Warning: Resource ID#%d used as offset, casting to integer (%d) in %s on line %d
bool(false)
bool(false)
Illegal offset type
Illegal offset type
Illegal offset type
Function Calls
None |
Stats
MD5 | 8b5d75223bc02f087e701ed061c7a360 |
Eval Count | 0 |
Decode Time | 115 ms |