On Tue, Nov 11, 2014 at 6:08 PM, Luca Barbato <lu_z...@gentoo.org> wrote: > On 11/11/14 17:40, Vittorio Giovara wrote: >> CC: libav-sta...@libav.org >> Bug-Id: CID 700465 / CID 1240206 >> --- >> libavcodec/lzwenc.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/libavcodec/lzwenc.c b/libavcodec/lzwenc.c >> index 7c37bf2..2533f49 100644 >> --- a/libavcodec/lzwenc.c >> +++ b/libavcodec/lzwenc.c >> @@ -129,7 +129,7 @@ static inline int findCode(LZWEncodeState * s, uint8_t >> c, int hash_prefix) >> int h = hash(FFMAX(hash_prefix, 0), c); >> int hash_offset = hashOffset(h); >> >> - while (s->tab[h].hash_prefix != LZW_PREFIX_FREE) { >> + while (h >= 0 && s->tab[h].hash_prefix != LZW_PREFIX_FREE) { >> if ((s->tab[h].suffix == c) >> && (s->tab[h].hash_prefix == hash_prefix)) >> return h; > > h can be negative?
Rereading the code there is an assert() in findCode() which initializes h. Should that be replaced with an averror? -- Vittorio _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel