X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Flzms_decompress.c;h=2ef2debd220b9337d3af7b04162fb719d002c2f1;hp=d6de2990726908ee4d25abcefb1c0fda7fe15f5b;hb=4ee103c6e2a2988e1fb358bfa2dc38dcb621505a;hpb=ff4f09a9848beab16d3d72f38a158848f24315ea;ds=sidebyside diff --git a/src/lzms_decompress.c b/src/lzms_decompress.c index d6de2990..2ef2debd 100644 --- a/src/lzms_decompress.c +++ b/src/lzms_decompress.c @@ -348,7 +348,12 @@ struct lzms_decompressor { u32 delta_power_freqs[LZMS_NUM_DELTA_POWER_SYMS]; struct lzms_huffman_rebuild_info delta_power_rebuild_info; - u32 codewords[LZMS_MAX_NUM_SYMS]; + /* Temporary space for lzms_build_huffman_code() */ + union { + u32 codewords[LZMS_MAX_NUM_SYMS]; + DECODE_TABLE_WORKING_SPACE(working_space, LZMS_MAX_NUM_SYMS, + LZMS_MAX_CODEWORD_LENGTH); + }; }; // struct @@ -517,7 +522,8 @@ lzms_build_huffman_code(struct lzms_huffman_rebuild_info *rebuild_info) rebuild_info->num_syms, rebuild_info->table_bits, (u8 *)rebuild_info->decode_table, - LZMS_MAX_CODEWORD_LENGTH); + LZMS_MAX_CODEWORD_LENGTH, + (u16 *)rebuild_info->codewords); rebuild_info->num_syms_until_rebuild = rebuild_info->rebuild_freq; }