summaryrefslogtreecommitdiff
path: root/main/streams/streams.c
diff options
context:
space:
mode:
authorMichael Wallner <mike@php.net>2014-04-02 15:38:35 +0200
committerMichael Wallner <mike@php.net>2014-04-02 15:38:35 +0200
commit68c57f8149b0493fa54533e600fd9c91cf596e1a (patch)
treeefa4aeef1dd481819d867c12a48745dca84b3505 /main/streams/streams.c
parentc4a3f67708a5f7b47b1c69f5027d997adb6f2fc1 (diff)
parent9eb0c634d457245ac99bacf20fc69d0e17cf094a (diff)
downloadphp-git-68c57f8149b0493fa54533e600fd9c91cf596e1a.tar.gz
Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5: 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 4713db151b..5049d88df6 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);