summaryrefslogtreecommitdiff
path: root/Zend/tests/bug38779.phpt
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2006-09-11 14:13:05 +0000
committerAntony Dovgal <tony2001@php.net>2006-09-11 14:13:05 +0000
commit3aeebd120f626d931f18f6e84722e041a62eac06 (patch)
tree6f0be2a66e0fb70333b92eb52ade6cce701f518e /Zend/tests/bug38779.phpt
parent6c0d0217ca0a45c95d718ce4652af33648c2cad5 (diff)
downloadphp-git-3aeebd120f626d931f18f6e84722e041a62eac06.tar.gz
add tests
Diffstat (limited to 'Zend/tests/bug38779.phpt')
-rw-r--r--Zend/tests/bug38779.phpt29
1 files changed, 29 insertions, 0 deletions
diff --git a/Zend/tests/bug38779.phpt b/Zend/tests/bug38779.phpt
new file mode 100644
index 0000000000..023a048b9f
--- /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: syntax error, unexpected T_STRING in Loader://qqq.php on line %d