[FFmpeg-devel] [PATCH 02/19] avfilter/af_anequalizer: Fix memleak when inserting pad fails

Paul B Mahol onemda at gmail.com
Wed Aug 26 23:23:50 EEST 2020


On 8/25/20, Andreas Rheinhardt <andreas.rheinhardt at gmail.com> wrote:
> It has been forgotten to free the name of the second outpad if attaching
> the first one to the AVFilterContext fails. Fixing this is easy: Only
> prepare the second outpad after (and if) the first outpad has been
> successfully attached to the AVFilterContext.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
>  libavfilter/af_anequalizer.c | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
>

LGTM

> diff --git a/libavfilter/af_anequalizer.c b/libavfilter/af_anequalizer.c
> index 177e1c7b39..26cf835727 100644
> --- a/libavfilter/af_anequalizer.c
> +++ b/libavfilter/af_anequalizer.c
> @@ -199,6 +199,12 @@ static av_cold int init(AVFilterContext *ctx)
>      if (!pad.name)
>          return AVERROR(ENOMEM);
>
> +    ret = ff_insert_outpad(ctx, 0, &pad);
> +    if (ret < 0) {
> +        av_freep(&pad.name);
> +        return ret;
> +    }
> +
>      if (s->draw_curves) {
>          vpad = (AVFilterPad){
>              .name         = av_strdup("out1"),
> @@ -206,18 +212,8 @@ static av_cold int init(AVFilterContext *ctx)
>              .config_props = config_video,
>          };
>          if (!vpad.name) {
> -            av_freep(&pad.name);
>              return AVERROR(ENOMEM);
>          }
> -    }
> -
> -    ret = ff_insert_outpad(ctx, 0, &pad);
> -    if (ret < 0) {
> -        av_freep(&pad.name);
> -        return ret;
> -    }
> -
> -    if (s->draw_curves) {
>          ret = ff_insert_outpad(ctx, 1, &vpad);
>          if (ret < 0) {
>              av_freep(&vpad.name);
> --
> 2.20.1
>
> _______________________________________________
> 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