Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix Bug #63762 Sigsegv when Exception::$trace is changed by user
- Loading branch information
Showing
3 changed files
with
96 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
--TEST-- | ||
Bug #63762 - Sigsegv when Exception::$trace is changed by user | ||
--FILE-- | ||
<?php | ||
$e = new Exception(); | ||
|
||
$ref = new ReflectionProperty($e, 'trace'); | ||
$ref->setAccessible(TRUE); | ||
|
||
echo "Array of NULL:\n"; | ||
$ref->setValue($e, array(NULL)); | ||
|
||
var_dump($e->getTraceAsString()); | ||
|
||
echo "\nArray of empty array:\n"; | ||
$ref->setValue($e, array(array())); | ||
var_dump($e->getTraceAsString()); | ||
|
||
echo "\nArray of array of NULL values:\n"; | ||
$ref->setValue($e, array(array( | ||
'file' => NULL, | ||
'line' => NULL, | ||
'class' => NULL, | ||
'type' => NULL, | ||
'function' => NULL, | ||
'args' => NULL | ||
))); | ||
var_dump($e->getTraceAsString()); | ||
?> | ||
--EXPECTF-- | ||
Array of NULL: | ||
|
||
Warning: Expected array for frame 0 in %s on line %d | ||
string(9) "#0 {main}" | ||
|
||
Array of empty array: | ||
string(36) "#0 [internal function]: () | ||
#1 {main}" | ||
|
||
Array of array of NULL values: | ||
|
||
Warning: Function name is no string in %s on line %d | ||
|
||
Warning: Value for class is no string in %s on line %d | ||
|
||
Warning: Value for type is no string in %s on line %d | ||
|
||
Warning: Value for function is no string in %s on line %d | ||
|
||
Warning: args element is no array in %s on line %d | ||
string(60) "#0 [unknown function][unknown][unknown][unknown]() | ||
#1 {main}" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters