mirror of https://git.tukaani.org/xz.git
liblzma: Check for unexpected NULL pointers in block_header_decode().
The API docs gave an impression that such checks are done but they actually weren't done. In practice it made little difference since the calling code has a bug if these are NULL. Thanks to Jia Tan for the original patch that checked for block->filters == NULL.
This commit is contained in:
parent
24790f49ae
commit
ac2a747e93
|
@ -23,6 +23,10 @@ lzma_block_header_decode(lzma_block *block,
|
||||||
// are invalid or over 63 bits, or if the header is too small
|
// are invalid or over 63 bits, or if the header is too small
|
||||||
// to contain the claimed information.
|
// to contain the claimed information.
|
||||||
|
|
||||||
|
// Catch unexpected NULL pointers.
|
||||||
|
if (block == NULL || block->filters == NULL || in == NULL)
|
||||||
|
return LZMA_PROG_ERROR;
|
||||||
|
|
||||||
// Initialize the filter options array. This way the caller can
|
// Initialize the filter options array. This way the caller can
|
||||||
// safely free() the options even if an error occurs in this function.
|
// safely free() the options even if an error occurs in this function.
|
||||||
for (size_t i = 0; i <= LZMA_FILTERS_MAX; ++i) {
|
for (size_t i = 0; i <= LZMA_FILTERS_MAX; ++i) {
|
||||||
|
|
Loading…
Reference in New Issue