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