X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_anequalizer.c;h=03d939f170d17ed21b4d297f1eedee63ef87e1c1;hb=8161ac2902836032b6f6684aa48275325f8ca9ef;hp=24034602fd056bbd113e7bfcfb2cb9c8cafa2548;hpb=ef71ef5f30ddf1cd61e46628a04608892caf76d2;p=ffmpeg diff --git a/libavfilter/af_anequalizer.c b/libavfilter/af_anequalizer.c index 24034602fd0..03d939f170d 100644 --- a/libavfilter/af_anequalizer.c +++ b/libavfilter/af_anequalizer.c @@ -189,6 +189,7 @@ static av_cold int init(AVFilterContext *ctx) { AudioNEqualizerContext *s = ctx->priv; AVFilterPad pad, vpad; + int ret; pad = (AVFilterPad){ .name = av_strdup("out0"), @@ -208,10 +209,19 @@ static av_cold int init(AVFilterContext *ctx) return AVERROR(ENOMEM); } - ff_insert_outpad(ctx, 0, &pad); + ret = ff_insert_outpad(ctx, 0, &pad); + if (ret < 0) { + av_freep(&pad.name); + return ret; + } - if (s->draw_curves) - ff_insert_outpad(ctx, 1, &vpad); + if (s->draw_curves) { + ret = ff_insert_outpad(ctx, 1, &vpad); + if (ret < 0) { + av_freep(&vpad.name); + return ret; + } + } return 0; } @@ -259,9 +269,8 @@ static av_cold void uninit(AVFilterContext *ctx) { AudioNEqualizerContext *s = ctx->priv; - av_freep(&ctx->output_pads[0].name); - if (s->draw_curves) - av_freep(&ctx->output_pads[1].name); + for (int i = 0; i < ctx->nb_outputs; i++) + av_freep(&ctx->output_pads[i].name); av_frame_free(&s->video); av_freep(&s->filters); s->nb_filters = 0;