[FFmpeg-devel] [PATCH v2] avfilter/vf_libvmaf: Check for av_frame_alloc failure
Limin Wang
lance.lmwang at gmail.com
Wed Nov 27 12:20:33 EET 2019
On Wed, Nov 27, 2019 at 11:09:23AM +0100, Nikola Pajkovsky wrote:
> lance.lmwang at gmail.com writes:
>
> > From: Limin Wang <lance.lmwang at gmail.com>
> >
> > Reviewed-by: Paul B Mahol <onemda at gmail.com>
> > Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> > ---
> > Add Reviewed-by:, pleae help push it
> >
> > libavfilter/vf_libvmaf.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c
> > index ed3a383..14c3216 100644
> > --- a/libavfilter/vf_libvmaf.c
> > +++ b/libavfilter/vf_libvmaf.c
> > @@ -235,6 +235,9 @@ static av_cold int init(AVFilterContext *ctx)
> >
> > s->gref = av_frame_alloc();
> > s->gmain = av_frame_alloc();
> > + if (!s->gref || !s->gmain)
> > + return AVERROR(ENOMEM);
> > +
>
> When av_frame_alloc() return allocated memory for s->gref and
> av_frame_alloc() fails for s->gmain, it will leak memory for s->gref.
>
> Correct code is:
>
> s->gref = av_frame_alloc();
> if (!s->gref)
> return AVERROR(ENOMEM);
>
> s->gmain = av_frame_alloc();
> if (!s->gmain)
> return AVERROR(ENOMEM);
Thank for your review, I recall they'll be freed in uninit function, so
my patch looks simple.
>
> --
> Nikola
More information about the ffmpeg-devel
mailing list