Add sanity checking on chunk data on decompression.

This commit is contained in:
Con Kolivas 2018-05-16 16:51:03 +10:00
parent 33a6bf6234
commit 89d7b33e6a

View file

@ -1116,6 +1116,10 @@ void *open_stream_in(rzip_control *control, int f, int n, char chunk_bytes)
sinfo->size = le64toh(sinfo->size);
print_maxverbose("Chunk size: %lld\n", sinfo->size);
control->st_size += sinfo->size;
if (unlikely(sinfo->chunk_bytes < 1 || sinfo->chunk_bytes > 8 || sinfo->size < 0)) {
print_err("Invalid chunk data size %d bytes %lld\n", sinfo->size, sinfo->chunk_bytes);
goto failed;
}
}
}
sinfo->initial_pos = get_readseek(control, f);