avcodec/txd: Check for input size against the header size.

Fixes: Timeout (21sec -> 80ms)
Fixes: 20673/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TXD_fuzzer-5177453863763968

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2020-02-18 23:14:16 +01:00
parent 55e344ee5a
commit aeb4e43584
1 changed files with 3 additions and 0 deletions

View File

@ -43,6 +43,9 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
int i, j; int i, j;
int ret; int ret;
if (avpkt->size < 88)
return AVERROR_INVALIDDATA;
ff_texturedsp_init(&dxtc); ff_texturedsp_init(&dxtc);
bytestream2_init(&gb, avpkt->data, avpkt->size); bytestream2_init(&gb, avpkt->data, avpkt->size);