From d179ac771c6be8ef64dee154bae55e8a4caedb67 Mon Sep 17 00:00:00 2001 From: Sara Golemon Date: Wed, 8 Sep 2004 18:42:15 +0000 Subject: [PATCH] Handle maxlen when stream can't be mmaped --- main/streams/streams.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/main/streams/streams.c b/main/streams/streams.c index a7c65dde57..fc5a0b82ee 100755 --- a/main/streams/streams.c +++ b/main/streams/streams.c @@ -1211,6 +1211,17 @@ PHPAPI size_t _php_stream_copy_to_mem(php_stream *src, char **buf, size_t maxlen } } + if (maxlen > 0) { + ptr = *buf = pemalloc_rel_orig(maxlen + 1, persistent); + while ((len < maxlen) & !php_stream_eof(src)) { + ret = php_stream_read(src, ptr, maxlen - len); + len += ret; + ptr += ret; + } + *ptr = '\0'; + return len; + } + /* avoid many reallocs by allocating a good sized chunk to begin with, if * we can. Note that the stream may be filtered, in which case the stat * result may be inaccurate, as the filter may inflate or deflate the -- 2.50.1