lavc/mjpegdec: Only read JFIF thumbnail size if the segment is long enough.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 3 Sep 2016 12:21:46 +0000 (14:21 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Sat, 3 Sep 2016 12:21:46 +0000 (14:21 +0200)
Fixes ticket #5805.

libavcodec/mjpegdec.c
libavcodec/version.h

index 0645a1d..84d929a 100644 (file)
@@ -1690,6 +1690,8 @@ static int mjpeg_decode_app(MJpegDecodeContext *s)
                    s->avctx->sample_aspect_ratio.num,
                    s->avctx->sample_aspect_ratio.den);
 
+        len -= 8;
+        if (len >= 2) {
         t_w = get_bits(&s->gb, 8);
         t_h = get_bits(&s->gb, 8);
         if (t_w && t_h) {
@@ -1697,7 +1699,8 @@ static int mjpeg_decode_app(MJpegDecodeContext *s)
             if (len -10 - (t_w * t_h * 3) > 0)
                 len -= t_w * t_h * 3;
         }
-        len -= 10;
+        len -= 2;
+        }
         goto out;
     }
 
index f7a7344..e83e3aa 100644 (file)
@@ -29,7 +29,7 @@
 
 #define LIBAVCODEC_VERSION_MAJOR  57
 #define LIBAVCODEC_VERSION_MINOR  54
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MICRO 102
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \