php-8.0.30-src/ext/opcache/tests/jit/assign_obj_003.phpt

38 lines
872 B
PHP

--TEST--
JIT ASSIGN_OBJ: Assign undefined vatiable to property
--INI--
opcache.enable=1
opcache.enable_cli=1
opcache.file_update_protection=0
opcache.jit_buffer_size=1M
--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