diff mbox series

[FFmpeg-devel,1/6] avcodec/vp6: Check initializing VP6A context

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

Checks

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

Commit Message

Andreas Rheinhardt Feb. 11, 2022, 8:47 a.m. UTC
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/vp6.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

Peter Ross Feb. 13, 2022, 12:25 a.m. UTC | #1
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 mbox series

Patch

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,
 };