https://bugs.gentoo.org/981308 https://marc.info/?l=oss-security&m=178750295349970&w=4 --- a/unlzh.c +++ b/unlzh.c @@ -307,6 +307,12 @@ decode_p () static void huf_decode_start () { + /* Needed in case LEFT and RIGHT are reused from a previous + LZW decompression. It may be overkill to clear all of both + arrays, but nobody has had time to analyze this carefully. */ + memzero (left, (2 * NC - 1) * sizeof *left); + memzero (right, (2 * NC - 1) * sizeof *right); + init_getbits(); blocksize = 0; }