X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Flzx-decompress.c;fp=src%2Flzx-decompress.c;h=513944ee18525ab69715bb0341188b2044ad2322;hp=f98b630d7ecdb9b025934c60de415f33add6e747;hb=e02ea0a6b4aec8b3475ea24522f254affb6cfcd3;hpb=3519f882f1b44ef45d9f9c5762b53d0c8f8da55a diff --git a/src/lzx-decompress.c b/src/lzx-decompress.c index f98b630d..513944ee 100644 --- a/src/lzx-decompress.c +++ b/src/lzx-decompress.c @@ -383,6 +383,10 @@ lzx_read_block_header(struct input_bitstream *istream, queue->R[0] = bitstream_read_u32(istream); queue->R[1] = bitstream_read_u32(istream); queue->R[2] = bitstream_read_u32(istream); + + /* Offsets of 0 are invalid. */ + if (queue->R[0] == 0 || queue->R[1] == 0 || queue->R[2] == 0) + return -1; break; default: