From 61ead1d27806801fa0b4f4501938c3d044f776fc Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Tue, 23 Aug 2022 20:11:13 +0200 Subject: Cleanup gzip range clamping code The zlib library uses a typedef'd uInt type for ranges which may be smaller than size_t. The complicated clamping to the uInt range is technically not needed, as the buffer size can grow at most to BUFSZ anyway, and it also confuses coverity. Signed-off-by: David Oberhollenzer --- lib/io/uncompress/gzip.c | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) (limited to 'lib') diff --git a/lib/io/uncompress/gzip.c b/lib/io/uncompress/gzip.c index 1d6274c..bce7f0a 100644 --- a/lib/io/uncompress/gzip.c +++ b/lib/io/uncompress/gzip.c @@ -18,7 +18,6 @@ static int precache(istream_t *base) { istream_t *wrapped = ((istream_comp_t *)base)->wrapped; istream_gzip_t *gzip = (istream_gzip_t *)base; - size_t avail_in, avail_out; int ret; for (;;) { @@ -26,22 +25,8 @@ static int precache(istream_t *base) if (ret != 0) return ret; - avail_in = wrapped->buffer_used; - avail_out = BUFSZ - base->buffer_used; - - if (sizeof(size_t) > sizeof(uInt)) { - gzip->strm.avail_in = ~((uInt)0U); - gzip->strm.avail_out = ~((uInt)0U); - - if ((size_t)gzip->strm.avail_in > avail_in) - gzip->strm.avail_in = (uInt)avail_in; - - if ((size_t)gzip->strm.avail_out > avail_out) - gzip->strm.avail_out = (uInt)avail_out; - } else { - gzip->strm.avail_in = (uInt)avail_in; - gzip->strm.avail_out = (uInt)avail_out; - } + gzip->strm.avail_in = (uInt)wrapped->buffer_used; + gzip->strm.avail_out = (uInt)(BUFSZ - base->buffer_used); gzip->strm.next_in = wrapped->buffer; gzip->strm.next_out = base->buffer + base->buffer_used; -- cgit v1.2.3