From e84b3c7e98196cbe93321aa8aa883bc0775bdcf6 Mon Sep 17 00:00:00 2001 From: Aleksoid Date: Wed, 25 Mar 2026 14:57:37 +1000 Subject: [PATCH] avcodec/vp9: Fixed memory leak when vp9_frame_alloc() function fails. --- libavcodec/vp9.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 9a3d5f49f5..1ebf5ac18b 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -1637,8 +1637,10 @@ static int vp9_decode_frame(AVCodecContext *avctx, AVFrame *frame, vp9_frame_replace(&s->s.frames[REF_FRAME_SEGMAP], src); vp9_frame_replace(&s->s.frames[REF_FRAME_MVPAIR], src); vp9_frame_unref(&s->s.frames[CUR_FRAME]); - if ((ret = vp9_frame_alloc(avctx, &s->s.frames[CUR_FRAME])) < 0) + if ((ret = vp9_frame_alloc(avctx, &s->s.frames[CUR_FRAME])) < 0) { + ff_cbs_fragment_reset(&s->current_frag); return ret; + } s->s.frames[CUR_FRAME].header_ref = av_refstruct_ref(s->header_ref); s->s.frames[CUR_FRAME].frame_header = s->frame_header;