summaryrefslogtreecommitdiff
path: root/main/streams/streams.c
diff options
context:
space:
mode:
authorHannes Magnusson <bjori@php.net>2011-05-29 12:29:19 +0000
committerHannes Magnusson <bjori@php.net>2011-05-29 12:29:19 +0000
commit9392b9cd73a2e9bf438f92b0c91770e31e2bf00c (patch)
treea34f7d314de1215149cb6ea5250340a71329ed44 /main/streams/streams.c
parent2c03acef35bcc542eb2e6acdb6b03f2fd6249575 (diff)
downloadphp-git-9392b9cd73a2e9bf438f92b0c91770e31e2bf00c.tar.gz
Fixed bug #54946 (stream_get_contents infinite loop)
Diffstat (limited to 'main/streams/streams.c')
-rwxr-xr-xmain/streams/streams.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/main/streams/streams.c b/main/streams/streams.c
index 4a227e8f02..1017f22124 100755
--- a/main/streams/streams.c
+++ b/main/streams/streams.c
@@ -1362,6 +1362,9 @@ PHPAPI size_t _php_stream_copy_to_mem(php_stream *src, char **buf, size_t maxlen
ptr = *buf = pemalloc_rel_orig(maxlen + 1, persistent);
while ((len < maxlen) && !php_stream_eof(src)) {
ret = php_stream_read(src, ptr, maxlen - len);
+ if (!ret) {
+ break;
+ }
len += ret;
ptr += ret;
}