1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
--TEST--
JIT ASSIGN_OBJ: Assign undefined vatiable to property
--INI--
opcache.enable=1
opcache.enable_cli=1
opcache.file_update_protection=0
--FILE--
<?php
class Node {
public $previous;
public $next;
}
function xxx() {
$firstNode = new Node();
// $firstNode->previous = $firstNode;
$firstNode->next = $firstNode;
$circularDoublyLinkedList = null;
for ($i = 0; $i < 2; $i++) {
$currentNode = $circularDoublyLinkedList;
$nextNode = $circularDoublyLinkedList->next;
$newNode->next = $undef1->next; // <- ???
$newNode = new Node();
$currentNode->undef2 = new Node();
$circularDoublyLinkedList = $nextNode;
}
}
try {
@xxx();
} catch (Throwable $e) {
echo "Exception: " . $e->getMessage() . "\n";
}
?>
--EXPECT--
Exception: Attempt to assign property "next" on null
|