]> git.ipfire.org Git - thirdparty/zlib-ng.git/commitdiff
Add hints about value ranges coming into inffast.
authorHans Kristian Rosbach <hk-git@circlestorm.org>
Sun, 3 Nov 2024 19:29:56 +0000 (20:29 +0100)
committerHans Kristian Rosbach <hk-git@circlestorm.org>
Tue, 11 Feb 2025 22:21:34 +0000 (23:21 +0100)
inffast_tpl.h

index 5cea48631f70a65be6014b8985144a4e1cdfbb68..564ef6bd03bdd1db595e36272876c39312ddbff0 100644 (file)
@@ -115,8 +115,15 @@ void Z_INTERNAL INFLATE_FAST(PREFIX3(stream) *strm, uint32_t start) {
     unsigned dist;              /* match distance */
     unsigned extra_safe;        /* copy chunks safely in all cases */
 
-    /* copy state to local variables */
     state = (struct inflate_state *)strm->state;
+
+    Assume(state->mode == LEN);
+    Assume(state->bits < 8);
+    Assume(strm->avail_in >= INFLATE_FAST_MIN_HAVE);
+    Assume(strm->avail_out >= INFLATE_FAST_MIN_LEFT);
+    Assume(start >= strm->avail_out);
+
+    /* copy state to local variables */
     in = strm->next_in;
     last = in + (strm->avail_in - (INFLATE_FAST_MIN_HAVE - 1));
     out = strm->next_out;