Commit ee0cb6f251ce4466cdb6e46c69c773e1891eb30b

Stefan Sperling 2020-03-17T13:12:33

allow inflate(3) to consume all mapped data at once in got_inflate_read_mmap()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/lib/inflate.c b/lib/inflate.c
index a69a6ff..472aaa1 100644
--- a/lib/inflate.c
+++ b/lib/inflate.c
@@ -181,8 +181,7 @@ got_inflate_read_mmap(struct got_inflate_buf *zb, uint8_t *map, size_t offset,
 				break;
 			}
 			z->next_in = map + offset + *consumed;
-			z->avail_in = MIN(zb->inlen, len);
-			len -= z->avail_in;
+			z->avail_in = len - *consumed;
 		}
 		ret = inflate(z, Z_SYNC_FLUSH);
 		*consumed += z->total_in - last_total_in;