Ignore overrun in spectral RLE decoding, fixes
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 27 Jun 2006 12:09:58 +0000 (12:09 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Tue, 27 Jun 2006 12:09:58 +0000 (12:09 +0000)
http://www.missouri.edu/~bah347/gprime/nintendothemesacappellax.wmv

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

libavcodec/wmadec.c

index 5bf87ac..f07fab3 100644 (file)
@@ -908,7 +908,10 @@ static int wma_decode_block(WMADecodeContext *s)
                     level = -level;
                 ptr += run;
                 if (ptr >= eptr)
-                    return -1;
+                {
+                    av_log(NULL, AV_LOG_ERROR, "overflow in spectral RLE, ignoring\n");
+                    break;
+                }
                 *ptr++ = level;
                 /* NOTE: EOB can be omitted */
                 if (ptr >= eptr)