From: Eric Biggers Date: Sat, 26 Jul 2014 18:46:54 +0000 (-0500) Subject: lz_binary_trees.c: Avoid buffer overrun if min_match_len > 3 X-Git-Tag: v1.7.1~36 X-Git-Url: https://wimlib.net/git/?p=wimlib;a=commitdiff_plain;h=0e26b390d9f55ce9abb0c40c551e1c478e0563ad lz_binary_trees.c: Avoid buffer overrun if min_match_len > 3 --- diff --git a/src/lz_binary_trees.c b/src/lz_binary_trees.c index 98924780..be818d72 100644 --- a/src/lz_binary_trees.c +++ b/src/lz_binary_trees.c @@ -458,7 +458,7 @@ lz_bt_get_matches(struct lz_mf *_mf, struct lz_match matches[]) u32 min_len; u32 num_matches = 0; - if (bytes_remaining <= LZ_BT_HASH_BYTES) + if (unlikely(bytes_remaining <= mf->base.params.min_match_len + 1)) goto out; if (mf->digram_tab) { @@ -590,7 +590,7 @@ lz_bt_skip_position(struct lz_bt *mf) u32 hash; u32 cur_match; - if (bytes_remaining <= LZ_BT_HASH_BYTES) + if (unlikely(bytes_remaining <= mf->base.params.min_match_len + 1)) goto out; /* Update the digram table. */