[FFmpeg-devel] [PATCH] avfilter/vf_zoompan: Free out frame on error

Michael Niedermayer michael at niedermayer.cc
Fri Mar 31 12:54:37 EEST 2017


On Fri, Mar 31, 2017 at 10:07:24AM +0200, Paul B Mahol wrote:
> On 3/30/17, Michael Niedermayer <michael at niedermayer.cc> wrote:
> > Fixes: CID1398578
> >
> > Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> > ---
> >  libavfilter/vf_zoompan.c | 7 +++++--
> >  1 file changed, 5 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavfilter/vf_zoompan.c b/libavfilter/vf_zoompan.c
> > index 136d6c83fd..53a0700e37 100644
> > --- a/libavfilter/vf_zoompan.c
> > +++ b/libavfilter/vf_zoompan.c
> > @@ -191,7 +191,7 @@ static int output_single_frame(AVFilterContext *ctx,
> > AVFrame *in, double *var_va
> >      s->sws = sws_alloc_context();
> >      if (!s->sws) {
> >          ret = AVERROR(ENOMEM);
> > -        return ret;
> > +        goto error;
> >      }
> >
> >      for (k = 0; in->data[k]; k++)
> > @@ -206,7 +206,7 @@ static int output_single_frame(AVFilterContext *ctx,
> > AVFrame *in, double *var_va
> >      av_opt_set_int(s->sws, "sws_flags", SWS_BICUBIC, 0);
> >
> >      if ((ret = sws_init_context(s->sws, NULL, NULL)) < 0)
> > -        return ret;
> > +        goto error;
> >
> >      sws_scale(s->sws, (const uint8_t *const *)&input, in->linesize, 0, h,
> > out->data, out->linesize);
> >
> > @@ -218,6 +218,9 @@ static int output_single_frame(AVFilterContext *ctx,
> > AVFrame *in, double *var_va
> >      s->sws = NULL;
> >      s->current_frame++;
> >      return ret;
> > +error:
> > +    av_frame_free(&out);
> > +    return ret;
> >  }
> >
> >  static int filter_frame(AVFilterLink *inlink, AVFrame *in)
> > --
> > 2.11.0
> >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> 
> lgtm

applied

thx

[...]
--
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Its not that you shouldnt use gotos but rather that you should write
readable code and code with gotos often but not always is less readable
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170331/3916104d/attachment.sig>


More information about the ffmpeg-devel mailing list