Просмотр исходного кода

avcodec/mjpegdec: Disallow progressive bayer images

Fixes: Null pointer dereference
Fixes: sample1.dng
Found-by: South East <8billion.people@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer 3 месяцев назад
Родитель
Сommit
6d8285633d
1 измененных файлов с 4 добавлено и 0 удалено
  1. 4 0
      libavcodec/mjpegdec.c

+ 4 - 0
libavcodec/mjpegdec.c

@@ -468,6 +468,10 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
         if (s->avctx->height <= 0)
             return AVERROR_INVALIDDATA;
     }
+    if (s->bayer && s->progressive) {
+        avpriv_request_sample(s->avctx, "progressively coded bayer picture");
+        return AVERROR_INVALIDDATA;
+    }
 
     if (s->got_picture && s->interlaced && (s->bottom_field == !s->interlace_polarity)) {
         if (s->progressive) {