mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/cdgraphics: Clear first frame only once
frame_number will not increase if nothing is output Fixes: Timeout Fixes: 9057/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CDGRAPHICS_fuzzer-4844661498707968 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:
parent
d2015e6b86
commit
d134b8d85f
@ -69,6 +69,7 @@ typedef struct CDGraphicsContext {
|
||||
int hscroll;
|
||||
int vscroll;
|
||||
int transparency;
|
||||
int cleared;
|
||||
} CDGraphicsContext;
|
||||
|
||||
static av_cold int cdg_decode_init(AVCodecContext *avctx)
|
||||
@ -287,9 +288,10 @@ static int cdg_decode_frame(AVCodecContext *avctx,
|
||||
|
||||
if ((ret = ff_reget_buffer(avctx, cc->frame)) < 0)
|
||||
return ret;
|
||||
if (!avctx->frame_number) {
|
||||
if (!cc->cleared) {
|
||||
memset(cc->frame->data[0], 0, cc->frame->linesize[0] * avctx->height);
|
||||
memset(cc->frame->data[1], 0, AVPALETTE_SIZE);
|
||||
cc->cleared = 1;
|
||||
}
|
||||
|
||||
command = bytestream2_get_byte(&gb);
|
||||
|
Loading…
Reference in New Issue
Block a user