bug63762.phpt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. --TEST--
  2. Bug #63762 - Sigsegv when Exception::$trace is changed by user
  3. --FILE--
  4. <?php
  5. $e = new Exception();
  6. $ref = new ReflectionProperty($e, 'trace');
  7. $ref->setAccessible(TRUE);
  8. echo "Array of NULL:\n";
  9. $ref->setValue($e, array(NULL));
  10. var_dump($e->getTraceAsString());
  11. echo "\nArray of empty array:\n";
  12. $ref->setValue($e, array(array()));
  13. var_dump($e->getTraceAsString());
  14. echo "\nArray of array of NULL values:\n";
  15. $ref->setValue($e, array(array(
  16. 'file' => NULL,
  17. 'line' => NULL,
  18. 'class' => NULL,
  19. 'type' => NULL,
  20. 'function' => NULL,
  21. 'args' => NULL
  22. )));
  23. var_dump($e->getTraceAsString());
  24. ?>
  25. --EXPECTF--
  26. Array of NULL:
  27. Warning: Expected array for frame 0 in %s on line %d
  28. string(9) "#0 {main}"
  29. Array of empty array:
  30. string(36) "#0 [internal function]: ()
  31. #1 {main}"
  32. Array of array of NULL values:
  33. Warning: Function name is no string in %s on line %d
  34. Warning: Value for class is no string in %s on line %d
  35. Warning: Value for type is no string in %s on line %d
  36. Warning: Value for function is no string in %s on line %d
  37. Warning: args element is no array in %s on line %d
  38. string(60) "#0 [unknown function][unknown][unknown][unknown]()
  39. #1 {main}"