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

Paul B Mahol onemda at gmail.com
Wed Nov 27 12:26:15 EET 2019


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.

>
>>
>> --
>> Nikola
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list