liblzma: Initialize lzma_lz_encoder pointers with NULL.
This fixes the recent change to lzma_lz_encoder that used memzero instead of the NULL constant. On some compilers the NULL constant (always 0) may not equal the NULL pointer (this only needs to guarentee to not point to valid memory address). Later code compares the pointers to the NULL pointer so we must initialize them with the NULL pointer instead of 0 to guarentee code correctness.
This commit is contained in:
parent
183a62f0b5
commit
b34b6a9912
|
@ -564,7 +564,11 @@ lzma_lz_encoder_init(lzma_next_coder *next, const lzma_allocator *allocator,
|
||||||
next->update = &lz_encoder_update;
|
next->update = &lz_encoder_update;
|
||||||
next->set_out_limit = &lz_encoder_set_out_limit;
|
next->set_out_limit = &lz_encoder_set_out_limit;
|
||||||
|
|
||||||
memzero((&coder->lz), sizeof(lzma_lz_encoder));
|
coder->lz.coder = NULL;
|
||||||
|
coder->lz.code = NULL;
|
||||||
|
coder->lz.end = NULL;
|
||||||
|
coder->lz.options_update = NULL;
|
||||||
|
coder->lz.set_out_limit = NULL;
|
||||||
|
|
||||||
// mf.size is initialized to silence Valgrind
|
// mf.size is initialized to silence Valgrind
|
||||||
// when used on optimized binaries (GCC may reorder
|
// when used on optimized binaries (GCC may reorder
|
||||||
|
|
Loading…
Reference in New Issue