ffmpeg | branch: master | Andreas Rheinhardt <[email protected]> | Sat Aug 22 03:23:51 2020 +0200| [fdbd579fd10bc80c0f4e5a86497a4aa2e00317c5] | committer: Andreas Rheinhardt
avfilter/af_anequalizer: Fix memleak when inserting pad fails 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. Reviewed-by: Paul B Mahol <[email protected]> Signed-off-by: Andreas Rheinhardt <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=fdbd579fd10bc80c0f4e5a86497a4aa2e00317c5 --- libavfilter/af_anequalizer.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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); _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
