summaryrefslogtreecommitdiff
path: root/main/streams/streams.c
diff options
context:
space:
mode:
authorMichael Wallner <mike@php.net>2014-04-02 15:39:16 +0200
committerMichael Wallner <mike@php.net>2014-04-02 15:39:16 +0200
commit4d412421df6d4bce0be7f5530e97534a3d68a192 (patch)
treed78ce1d65d932c2c0bc74bbcd545c3bd188d2df3 /main/streams/streams.c
parent2b7bf2cb6e4ace83556d0b38e208b51b6eda6be0 (diff)
parent06e6d42ee39a6c9f80227305ab9a77ae03658be6 (diff)
downloadphp-git-4d412421df6d4bce0be7f5530e97534a3d68a192.tar.gz
Merge branch 'PHP-5.6'
* PHP-5.6: NEWS NEWS Fixed bug #61019 (Out of memory on command stream_get_contents)
Diffstat (limited to 'main/streams/streams.c')
-rw-r--r--main/streams/streams.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c
index 4c4764c1ea..f8295017c1 100644
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -731,6 +731,10 @@ PHPAPI size_t _php_stream_read(php_stream *stream, char *buf, size_t size TSRMLS
if (!stream->readfilters.head && (stream->flags & PHP_STREAM_FLAG_NO_BUFFER || stream->chunk_size == 1)) {
toread = stream->ops->read(stream, buf, size TSRMLS_CC);
+ if (toread == (size_t) -1) {
+ /* e.g. underlying read(2) returned -1 */
+ break;
+ }
} else {
php_stream_fill_read_buffer(stream, size TSRMLS_CC);