From 9c8bfd25c74e2ec210c38b2d7d9fed658575099f Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 3 Sep 2020 14:27:45 +0200 Subject: [PATCH] Fix #80048: Bug #69100 has not been fixed for Windows We fix the erroneous length calculation on Windows, too. --- main/streams/plain_wrapper.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index c975997981304..2b81912857626 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c @@ -786,15 +786,11 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void } size = GetFileSize(hfile, NULL); - if (range->length == 0 && range->offset > 0 && range->offset < size) { - range->length = size - range->offset; - } - if (range->length == 0 || range->length > size) { - range->length = size; - } - if (range->offset >= size) { + if (range->offset > size) { range->offset = size; - range->length = 0; + } + if (range->length == 0 || range->length > size - range->offset) { + range->length = size - range->offset; } /* figure out how big a chunk to map to be able to view the part that we need */