[FFmpeg-devel] [PATCH v2] avfilter/vf_libvmaf: Check for av_frame_alloc failure

Michael Niedermayer michael at niedermayer.cc
Thu Nov 28 16:33:40 EET 2019


On Wed, Nov 27, 2019 at 11:26:15AM +0100, Paul B Mahol wrote:
> On 11/27/19, Limin Wang <lance.lmwang at gmail.com> wrote:
> > 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.
> >
> 
> Yes, patch should be applied as is.

will apply

thx

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

Opposition brings concord. Out of discord comes the fairest harmony.
-- Heraclitus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20191128/1999a882/attachment.sig>


More information about the ffmpeg-devel mailing list