diff --git a/libavfilter/vf_decimate.c b/libavfilter/vf_decimate.c index f9a40f2d4c..53347c7f10 100644 --- a/libavfilter/vf_decimate.c +++ b/libavfilter/vf_decimate.c @@ -276,17 +276,24 @@ static av_cold int decimate_init(AVFilterContext *ctx) .filter_frame = filter_frame, .config_props = config_input, }; + int ret; if (!pad.name) return AVERROR(ENOMEM); - ff_insert_inpad(ctx, INPUT_MAIN, &pad); + if ((ret = ff_insert_inpad(ctx, INPUT_MAIN, &pad)) < 0) { + av_freep(&pad.name); + return ret; + } if (dm->ppsrc) { pad.name = av_strdup("clean_src"); pad.config_props = NULL; if (!pad.name) return AVERROR(ENOMEM); - ff_insert_inpad(ctx, INPUT_CLEANSRC, &pad); + if ((ret = ff_insert_inpad(ctx, INPUT_CLEANSRC, &pad)) < 0) { + av_freep(&pad.name); + return ret; + } } if ((dm->blockx & (dm->blockx - 1)) ||