diff mbox

[FFmpeg-devel,1/2] avcodec/mjpegdec: Only allow 0x11110000 pix_fmt_id for bayer mode

Message ID 20190912205201.21934-1-michael@niedermayer.cc
State Accepted
Commit 2006e5ccb6db3d4fd97096d8a1d0ba18f708f5fe
Headers show

Commit Message

Michael Niedermayer Sept. 12, 2019, 8:52 p.m. UTC
Fixes: NULL pointer dereference
Fixes: assertion failure
Fixes: 17003/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MJPEG_fuzzer-5696929253556224
Fixes: 17039/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MJPEG_fuzzer-5651008134316032

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/mjpegdec.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Paul B Mahol Sept. 13, 2019, 10:08 a.m. UTC | #1
ok

On 9/12/19, Michael Niedermayer <michael@niedermayer.cc> wrote:
> Fixes: NULL pointer dereference
> Fixes: assertion failure
> Fixes:
> 17003/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MJPEG_fuzzer-5696929253556224
> Fixes:
> 17039/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MJPEG_fuzzer-5651008134316032
>
> Found-by: continuous fuzzing process
> https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/mjpegdec.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
> index 1f2fabe2df..5a80b7d289 100644
> --- a/libavcodec/mjpegdec.c
> +++ b/libavcodec/mjpegdec.c
> @@ -501,6 +501,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
>
>          switch (pix_fmt_id) {
>          case 0x11110000: /* for bayer-encoded huffman lossless JPEGs
> embedded in DNGs */
> +            if (!s->bayer)
> +                goto unk_pixfmt;
>              s->avctx->pix_fmt = AV_PIX_FMT_GRAY16LE;
>              break;
>          case 0x11111100:
> --
> 2.23.0
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Michael Niedermayer Sept. 13, 2019, 8:07 p.m. UTC | #2
On Fri, Sep 13, 2019 at 12:08:42PM +0200, Paul B Mahol wrote:
> ok

will apply

thx

[...]
diff mbox

Patch

diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
index 1f2fabe2df..5a80b7d289 100644
--- a/libavcodec/mjpegdec.c
+++ b/libavcodec/mjpegdec.c
@@ -501,6 +501,8 @@  int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
 
         switch (pix_fmt_id) {
         case 0x11110000: /* for bayer-encoded huffman lossless JPEGs embedded in DNGs */
+            if (!s->bayer)
+                goto unk_pixfmt;
             s->avctx->pix_fmt = AV_PIX_FMT_GRAY16LE;
             break;
         case 0x11111100: