[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