diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2022-11-12 20:29:14 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-12-23 00:43:01 +0100 |
commit | 64c6c568908ee9d7f9a5d75686b6d4ce3334222c (patch) | |
tree | 08ffbd9d47110abcf6966f1e31f9e144bb8a8c89 | |
parent | 9498bc7c3218fd1cdf7f513cb2fe0f93d1d6a354 (diff) | |
download | ffmpeg-64c6c568908ee9d7f9a5d75686b6d4ce3334222c.tar.gz |
avcodec/mjpegbdec: Check for AVDISCARD_ALL
Fixes: Assertion failure
Fixes: 51825/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MJPEGB_fuzzer-6393802688692224
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r-- | libavcodec/mjpegbdec.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/mjpegbdec.c b/libavcodec/mjpegbdec.c index 98c64b44ca..a82a95d70a 100644 --- a/libavcodec/mjpegbdec.c +++ b/libavcodec/mjpegbdec.c @@ -141,9 +141,10 @@ read_header: av_log(avctx, AV_LOG_WARNING, "no picture\n"); return buf_size; } - av_frame_move_ref(rframe, s->picture_ptr); s->got_picture = 0; + if (avctx->skip_frame == AVDISCARD_ALL) + return AVERROR(EAGAIN); *got_frame = 1; if (!s->lossless && avctx->debug & FF_DEBUG_QP) { |