diff options
Diffstat (limited to 'Zend/tests/bug38779.phpt')
| -rw-r--r-- | Zend/tests/bug38779.phpt | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Zend/tests/bug38779.phpt b/Zend/tests/bug38779.phpt new file mode 100644 index 000000000..b551767c9 --- /dev/null +++ b/Zend/tests/bug38779.phpt @@ -0,0 +1,29 @@ +--TEST-- +Bug #38779 (engine crashes when require()'ing file with syntax error through userspace stream wrapper) +--FILE-- +<?php + +class Loader { + private $position; + private $data; + public function stream_open($path, $mode, $options, &$opened_path) { + $this->data = '<' . "?php \n\"\";ll l\n ?" . '>'; + $this->position = 0; + return true; + } + function stream_read($count) { + $ret = substr($this->data, $this->position, $count); + $this->position += strlen($ret); + return $ret; + } + function stream_eof() { + return $this->position >= strlen($this->data); + } +} +stream_wrapper_register('Loader', 'Loader'); +require 'Loader://qqq.php'; + +echo "Done\n"; +?> +--EXPECTF-- +Parse error: %s error%sin Loader://qqq.php on line %d |
