X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Flzx_decompress.c;h=fe5bdbad02240a1f1ec21e3516fd9424f34bec5d;hp=dba27665eb278b1361a60f56998fb41ead8a1d45;hb=abd8714418efc184deb7bc20172025cc1672b763;hpb=f18b7fc3361c4daac0ddd104af65a8eff8466fec diff --git a/src/lzx_decompress.c b/src/lzx_decompress.c index dba27665..fe5bdbad 100644 --- a/src/lzx_decompress.c +++ b/src/lzx_decompress.c @@ -228,6 +228,8 @@ lzx_read_codeword_lens(struct input_bitstream *istream, u8 *lens, unsigned num_l run_len = 4 + bitstream_read_bits(istream, 1); presym = read_huffsym_using_precode(istream, precode_decode_table); + if (unlikely(presym > 17)) + return -1; len = *len_ptr - presym; if ((s8)len < 0) len += 17;