From 1ec83d44a1601c3560f430e08af9698bf8fb075c Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Wed, 2 Apr 2014 15:36:39 +0200 Subject: Fixed bug #61019 (Out of memory on command stream_get_contents) --- main/streams/streams.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'main/streams/streams.c') diff --git a/main/streams/streams.c b/main/streams/streams.c index cac50ef03f..acc67dc207 100644 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -736,6 +736,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); -- cgit v1.2.1