mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-10-24 02:09:03 +03:00
avcodec/tmv: Move space check before buffer allocation
Fixes: Timeout
Fixes: 471664630/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TMV_fuzzer-5291752530706432
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 55bb6e2646)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -47,9 +47,6 @@ static int tmv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
|
||||
unsigned x, y, fg, bg, c;
|
||||
int ret;
|
||||
|
||||
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
if (avpkt->size < 2*char_rows*char_cols) {
|
||||
av_log(avctx, AV_LOG_ERROR,
|
||||
"Input buffer too small, truncated sample?\n");
|
||||
@@ -57,6 +54,9 @@ static int tmv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
|
||||
return AVERROR_INVALIDDATA;
|
||||
}
|
||||
|
||||
if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
|
||||
return ret;
|
||||
|
||||
dst = frame->data[0];
|
||||
|
||||
memcpy(frame->data[1], ff_cga_palette, 16 * 4);
|
||||
|
||||
Reference in New Issue
Block a user