aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-02-24 23:39:44 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2019-12-02 19:41:47 +0100
commit1ca27e5215f9717da07e090a4dcca021afae7fc8 (patch)
treea5d68961063f97841c313d3969ff8445a661ccf5
parent4797b6092df95355f59b01f11966e98c82238a5a (diff)
downloadffmpeg-1ca27e5215f9717da07e090a4dcca021afae7fc8.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 97b745d38a..9fe26e81fa 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