1--TEST-- 2Bug #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper) 3--FILE-- 4<?php 5 6class Loader { 7 private $position; 8 private $data; 9 public function stream_open($path, $mode, $options, &$opened_path) { 10 $this->data = '<' . "?php \n\"\";ll l\n ?" . '>'; 11 $this->position = 0; 12 return true; 13 } 14 function stream_read($count) { 15 $ret = substr($this->data, $this->position, $count); 16 $this->position += strlen($ret); 17 return $ret; 18 } 19 function stream_eof() { 20 return $this->position >= strlen($this->data); 21 } 22 function stream_stat() { 23 return array('size' => strlen($this->data)); 24 } 25} 26stream_wrapper_register('Loader', 'Loader'); 27require 'Loader://qqq.php'; 28 29echo "Done\n"; 30?> 31--EXPECTF-- 32Parse error: %s error%sin Loader://qqq.php on line %d 33