]> wimlib.net Git - wimlib/blobdiff - src/lzx-decompress.c
lzx-decompress.c: Don't allow using offsets of 0
[wimlib] / src / lzx-decompress.c
index f98b630d7ecdb9b025934c60de415f33add6e747..513944ee18525ab69715bb0341188b2044ad2322 100644 (file)
@@ -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: