avcodec/mjpegdec: Check for end for both bytes in unescaping
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 21 Jan 2016 20:01:47 +0000 (21:01 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 21 Jan 2016 22:47:29 +0000 (23:47 +0100)
Fixes assertion failure
Fixes: c40c779601b77dc6e19aaea0b04b9751/signal_sigabrt_7ffff6ae7cb7_5769_b94f6ec70caecb2d3d76b4771b109ac1.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/mjpegdec.c

index b1c5b67..863738d 100644 (file)
@@ -1968,7 +1968,7 @@ int ff_mjpeg_find_marker(MJpegDecodeContext *s,
         while (b < t) {
             uint8_t x = src[b++];
             put_bits(&pb, 8, x);
-            if (x == 0xFF) {
+            if (x == 0xFF && b < t) {
                 x = src[b++];
                 if (x & 0x80) {
                     av_log(s->avctx, AV_LOG_WARNING, "Invalid escape sequence\n");