Fail RLE decoding if insufficient data for a complete bitmap was decoded.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Mon, 22 Nov 2010 20:39:18 +0000 (20:39 +0000)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Mon, 22 Nov 2010 20:39:18 +0000 (20:39 +0000)
Originally committed as revision 25797 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/pgssubdec.c

index 197582f..c283b9c 100644 (file)
@@ -136,6 +136,11 @@ static int decode_rle(AVCodecContext *avctx, AVSubtitle *sub,
         }
     }
 
+    if (pixel_count < sub->rects[0]->w * sub->rects[0]->h) {
+        av_log(avctx, AV_LOG_ERROR, "Insufficient RLE data for subtitle\n");
+        return -1;
+    }
+
     dprintf(avctx, "Pixel Count = %d, Area = %d\n", pixel_count, sub->rects[0]->w * sub->rects[0]->h);
 
     return 0;