bug63762.phpt 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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. echo "Array of NULL:\n";
  8. $ref->setValue($e, array(NULL));
  9. var_dump($e->getTraceAsString());
  10. echo "\nArray of empty array:\n";
  11. $ref->setValue($e, array(array()));
  12. var_dump($e->getTraceAsString());
  13. echo "\nArray of array of NULL values:\n";
  14. $ref->setValue($e, array(array(
  15. 'file' => NULL,
  16. 'line' => NULL,
  17. 'class' => NULL,
  18. 'type' => NULL,
  19. 'function' => NULL,
  20. 'args' => NULL
  21. )));
  22. var_dump($e->getTraceAsString());
  23. ?>
  24. --EXPECTF--
  25. Array of NULL:
  26. Warning: Expected array for frame 0 in %s on line %d
  27. string(9) "#0 {main}"
  28. Array of empty array:
  29. string(36) "#0 [internal function]: ()
  30. #1 {main}"
  31. Array of array of NULL values:
  32. Warning: File name is not a string in %s on line %d
  33. Warning: Value for class is not a string in %s on line %d
  34. Warning: Value for type is not a string in %s on line %d
  35. Warning: Value for function is not a string in %s on line %d
  36. Warning: args element is not an array in %s on line %d
  37. string(58) "#0 [unknown file]: [unknown][unknown][unknown]()
  38. #1 {main}"