[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