aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-02-24 23:39:44 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2019-03-21 10:42:52 +0100
commit24e4039c6fa152b40ff2ebb491f5ea9df88686aa (patch)
tree0783877297d72e45e43cc0e10735b21d6c58ffdd
parent4ee463b69f30c51d0665bfbd6b80364beb2ba65c (diff)
downloadffmpeg-24e4039c6fa152b40ff2ebb491f5ea9df88686aa.tar.gz
avcodec/bethsoftvideo: Check block_type
Fixes: Timeout (17 seconds -> 1 second) Fixes: 13184/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BETHSOFTVID_fuzzer-5711446296494080 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit b8ecadec0582a1521b5d0d253376966138e6ca78) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/bethsoftvideo.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavcodec/bethsoftvideo.c b/libavcodec/bethsoftvideo.c
index 274516bf4d..e5a73f55a1 100644
--- a/libavcodec/bethsoftvideo.c
+++ b/libavcodec/bethsoftvideo.c
@@ -109,6 +109,11 @@ static int bethsoftvid_decode_frame(AVCodecContext *avctx,
if(yoffset >= avctx->height)
return AVERROR_INVALIDDATA;
dst += vid->frame->linesize[0] * yoffset;
+ case VIDEO_P_FRAME:
+ case VIDEO_I_FRAME:
+ break;
+ default:
+ return AVERROR_INVALIDDATA;
}
// main code