check that csize in ff_lzw_decode_init is < LZW_MAXBITS, <= is not enough and
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 13 Jul 2008 20:03:57 +0000 (20:03 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Sun, 13 Jul 2008 20:03:57 +0000 (20:03 +0000)
might read outside the prefix array

Originally committed as revision 14214 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/lzw.c

index 207b807..7bdc89a 100644 (file)
@@ -131,7 +131,7 @@ int ff_lzw_decode_init(LZWState *p, int csize, const uint8_t *buf, int buf_size,
 {
     struct LZWState *s = (struct LZWState *)p;
 
-    if(csize < 1 || csize > LZW_MAXBITS)
+    if(csize < 1 || csize >= LZW_MAXBITS)
         return -1;
     /* read buffer */
     s->pbuf = buf;