diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-09-03 14:27:45 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-09-03 15:43:19 +0200 |
commit | 1848ccdae2b9fbdfbbe8de56f8eda8b8869c825e (patch) | |
tree | 02ab6492a1392568dad64355e6c248358a381d6e | |
parent | c70a938f2871373875e8782205c824b11697bd51 (diff) | |
download | php-git-1848ccdae2b9fbdfbbe8de56f8eda8b8869c825e.tar.gz |
Fix #80048: Bug #69100 has not been fixed for Windows
We fix the erroneous length calculation on Windows, too.
Closes GH-6067.
-rw-r--r-- | NEWS | 3 | ||||
-rw-r--r-- | main/streams/plain_wrapper.c | 12 |
2 files changed, 7 insertions, 8 deletions
@@ -2,6 +2,9 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? ????, PHP 7.3.23 +- Core: + . Fixed bug #80048 (Bug #69100 has not been fixed for Windows). (cmb) + - Calendar: . Fixed bug #80007 (Potential type confusion in unixtojd() parameter parsing). (Andy Postnikov) diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index c975997981..2b81912857 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 */ |