summaryrefslogtreecommitdiff
path: root/ext/standard/tests
diff options
context:
space:
mode:
authorJoe Watkins <krakjoe@php.net>2019-10-03 06:51:33 +0200
committerJoe Watkins <krakjoe@php.net>2019-10-03 06:51:56 +0200
commitde83036f13cb48381f61d804cfdffbae8605c1f0 (patch)
treedcfc6a47686b5fdcdfdcea45dffbd8d416d0e7fa /ext/standard/tests
parenta46bdcb6319306131fbb33a7721a1ede742e8421 (diff)
parent5b1bb23edfbdf00cfafa9655cf07ef99546cdfa8 (diff)
downloadphp-git-de83036f13cb48381f61d804cfdffbae8605c1f0.tar.gz
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix #76859 stream_get_line skips data if used with data-generating filter
Diffstat (limited to 'ext/standard/tests')
-rw-r--r--ext/standard/tests/streams/bug46147.phpt14
-rw-r--r--ext/standard/tests/streams/bug76859.phpt22
2 files changed, 36 insertions, 0 deletions
diff --git a/ext/standard/tests/streams/bug46147.phpt b/ext/standard/tests/streams/bug46147.phpt
new file mode 100644
index 0000000000..bed2ee5472
--- /dev/null
+++ b/ext/standard/tests/streams/bug46147.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #46147 (after stream seek, appending stream filter reads incorrect data)
+--FILE--
+<?php
+$fp = tmpfile();
+fwrite($fp, "this is a lowercase string.\n");
+fseek($fp, 5);
+stream_filter_append($fp, "string.toupper");
+while (!feof($fp)) {
+ echo fread($fp, 5);
+}
+
+--EXPECT--
+IS A LOWERCASE STRING.
diff --git a/ext/standard/tests/streams/bug76859.phpt b/ext/standard/tests/streams/bug76859.phpt
new file mode 100644
index 0000000000..268b06a01b
--- /dev/null
+++ b/ext/standard/tests/streams/bug76859.phpt
@@ -0,0 +1,22 @@
+--TEST--
+Bug #76859 (stream_get_line skips data if used with filters)
+--FILE--
+<?php
+
+$data = '123';
+
+$fh = fopen('php://memory', 'r+b');
+fwrite($fh, $data);
+rewind($fh);
+stream_filter_append($fh, 'string.rot13', STREAM_FILTER_READ);
+
+$out = '';
+while (!feof($fh)) {
+ $out .= stream_get_line($fh, 1024);
+}
+
+fclose($fh);
+
+echo strlen($out) . "\n";
+--EXPECT--
+3