summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorAdam Seitz <adamjseitz@gmail.com>2020-12-02 00:40:16 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2020-12-23 13:49:56 +0100
commit70dfbe00684eb1c31d5b49f643e4736696c3b7df (patch)
tree3e43f4d84fff8ea5c71fbf429ca4ce625119d138 /ext
parentb043759cb42b33e02359ca1c30d8d5b68d8a015e (diff)
downloadphp-git-70dfbe00684eb1c31d5b49f643e4736696c3b7df.tar.gz
Fix #80384: limit read buffer size
In the case of a stream with no filters, php_stream_fill_read_buffer only reads stream->chunk_size into the read buffer. If the stream has filters attached, it could unnecessarily buffer a large amount of data. With this change, php_stream_fill_read_buffer only proceeds until either the requested size or stream->chunk_size is available in the read buffer. Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de> Closes GH-6444.
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/tests/streams/bug79984.phpt2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/standard/tests/streams/bug79984.phpt b/ext/standard/tests/streams/bug79984.phpt
index 7126458fff..3a7eca091a 100644
--- a/ext/standard/tests/streams/bug79984.phpt
+++ b/ext/standard/tests/streams/bug79984.phpt
@@ -52,6 +52,6 @@ fclose($f2);
--EXPECT--
filter onCreate
filtered 8192 bytes.
-filtered 128 bytes and closing.
+filtered 128 bytes and closing. Stream has reached end-of-file.
int(8320)
filter onClose