avcodec/vvc/vvcdec: allow vvc_decode_close() on failed open
Fixes: division by 0 Fixes: 67008/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VVC_fuzzer-5873503163187200 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:
committed by
Nuo Mi
parent
45c612702f
commit
b95c0d93ff
@@ -950,13 +950,14 @@ static av_cold void vvc_decode_flush(AVCodecContext *avctx)
|
|||||||
{
|
{
|
||||||
VVCContext *s = avctx->priv_data;
|
VVCContext *s = avctx->priv_data;
|
||||||
int got_output = 0;
|
int got_output = 0;
|
||||||
VVCFrameContext *last;
|
|
||||||
|
|
||||||
while (s->nb_delayed)
|
while (s->nb_delayed)
|
||||||
wait_delayed_frame(s, NULL, &got_output);
|
wait_delayed_frame(s, NULL, &got_output);
|
||||||
|
|
||||||
last = get_frame_context(s, s->fcs, s->nb_frames - 1);
|
if (s->fcs) {
|
||||||
ff_vvc_flush_dpb(last);
|
VVCFrameContext *last = get_frame_context(s, s->fcs, s->nb_frames - 1);
|
||||||
|
ff_vvc_flush_dpb(last);
|
||||||
|
}
|
||||||
|
|
||||||
s->eos = 1;
|
s->eos = 1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user