diff --git a/src/server/response.cpp b/src/server/response.cpp index ab7923d1a..0b4cb522d 100644 --- a/src/server/response.cpp +++ b/src/server/response.cpp @@ -41,9 +41,10 @@ bool is_compressible_mime_type(const std::string& mimeType) int get_range_len(const kiwix::Entry& entry, RequestContext::ByteRange range) { + const int entrySize = entry.getSize(); return range.second == -1 - ? entry.getSize() - range.first - : range.second - range.first + 1; + ? entrySize - range.first + : std::min(range.second + 1, entrySize) - range.first; } } // unnamed namespace