Message ID | AM7PR03MB66601C986E4FFC32D2B936738F309@AM7PR03MB6660.eurprd03.prod.outlook.com |
---|---|
State | Accepted |
Commit | 90e5eef73125d973df5610dc840a8a513a3b7915 |
Headers | show |
Series | [FFmpeg-devel,1/6] avcodec/vp6: Check initializing VP6A context | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_ppc | success | Make finished |
andriy/make_fate_ppc | success | Make fate finished |
On Fri, Feb 11, 2022 at 09:47:43AM +0100, Andreas Rheinhardt wrote: > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > libavcodec/vp6.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c > index d75e717082..95ed5eba0f 100644 > --- a/libavcodec/vp6.c > +++ b/libavcodec/vp6.c > @@ -654,11 +654,12 @@ static av_cold int vp6_decode_init(AVCodecContext *avctx) > if (s->has_alpha) { > s->alpha_context = av_mallocz(sizeof(VP56Context)); > if (!s->alpha_context) { > - ff_vp56_free(avctx); > return AVERROR(ENOMEM); > } > - ff_vp56_init_context(avctx, s->alpha_context, > - s->flip == -1, s->has_alpha); > + ret = ff_vp56_init_context(avctx, s->alpha_context, > + s->flip == -1, s->has_alpha); > + if (ret < 0) > + return ret; > ff_vp6dsp_init(&s->alpha_context->vp56dsp); > vp6_decode_init_context(s->alpha_context); > } > @@ -745,4 +746,5 @@ const AVCodec ff_vp6a_decoder = { > .close = vp6_decode_free, > .decode = ff_vp56_decode_frame, > .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, > + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, > }; > -- > 2.32.0 patches 1-6 look ok to me. please apply. -- Peter (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c index d75e717082..95ed5eba0f 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -654,11 +654,12 @@ static av_cold int vp6_decode_init(AVCodecContext *avctx) if (s->has_alpha) { s->alpha_context = av_mallocz(sizeof(VP56Context)); if (!s->alpha_context) { - ff_vp56_free(avctx); return AVERROR(ENOMEM); } - ff_vp56_init_context(avctx, s->alpha_context, - s->flip == -1, s->has_alpha); + ret = ff_vp56_init_context(avctx, s->alpha_context, + s->flip == -1, s->has_alpha); + if (ret < 0) + return ret; ff_vp6dsp_init(&s->alpha_context->vp56dsp); vp6_decode_init_context(s->alpha_context); } @@ -745,4 +746,5 @@ const AVCodec ff_vp6a_decoder = { .close = vp6_decode_free, .decode = ff_vp56_decode_frame, .capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/vp6.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)