avcodec/ansi: Check initial dimensions

Fixes: Timeout (minutes to less than 1sec)
Fixes: 25682/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ANSI_fuzzer-6320712032452608

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 949f0a6be9)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2020-09-19 21:17:32 +02:00
parent 6730fc755b
commit 51625c3a41
1 changed files with 6 additions and 0 deletions

View File

@ -474,6 +474,11 @@ static av_cold int decode_close(AVCodecContext *avctx)
return 0; return 0;
} }
static const AVCodecDefault ansi_defaults[] = {
{ "max_pixels", "640*480" },
{ NULL },
};
AVCodec ff_ansi_decoder = { AVCodec ff_ansi_decoder = {
.name = "ansi", .name = "ansi",
.long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"), .long_name = NULL_IF_CONFIG_SMALL("ASCII/ANSI art"),
@ -485,4 +490,5 @@ AVCodec ff_ansi_decoder = {
.decode = decode_frame, .decode = decode_frame,
.capabilities = AV_CODEC_CAP_DR1, .capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
.defaults = ansi_defaults,
}; };