diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-11-25 01:14:38 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-11-25 01:23:21 +0100 |
commit | 0bf416f2628137e5389050fa323c329692dd4ba6 (patch) | |
tree | c5e8be69bd4a7861325f167e044f19528e3eaba3 /libavcodec | |
parent | e6ea75c5e6b67012c5e8961d3f9171b0849b9cd2 (diff) |
avcodec/mjpegdec: Check for pixfmtid 0x42111100 || 0x24111100 with more than 8 bits
These cases are not supported yet
Fixes assertion failure
Fixes: signal_sigabrt_7ffff6ac7bb9_1_cov_1553101927_00.jpg
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/mjpegdec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 27344bd891..982829b297 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -533,8 +533,12 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s) else s->avctx->pix_fmt = AV_PIX_FMT_YUV420P16; s->avctx->color_range = s->cs_itu601 ? AVCOL_RANGE_MPEG : AVCOL_RANGE_JPEG; if (pix_fmt_id == 0x42111100) { + if (s->bits > 8) + goto unk_pixfmt; s->upscale_h = 6; } else if (pix_fmt_id == 0x24111100) { + if (s->bits > 8) + goto unk_pixfmt; s->upscale_v = 6; } break; |