diff --git a/libavfilter/avf_aphasemeter.c b/libavfilter/avf_aphasemeter.c index 8cdee9464c..ed837059ea 100644 --- a/libavfilter/avf_aphasemeter.c +++ b/libavfilter/avf_aphasemeter.c @@ -233,6 +233,7 @@ static av_cold int init(AVFilterContext *ctx) { AudioPhaseMeterContext *s = ctx->priv; AVFilterPad pad; + int ret; pad = (AVFilterPad){ .name = av_strdup("out0"), @@ -240,7 +241,11 @@ static av_cold int init(AVFilterContext *ctx) }; if (!pad.name) 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->do_video) { pad = (AVFilterPad){ @@ -250,7 +255,11 @@ static av_cold int init(AVFilterContext *ctx) }; if (!pad.name) return AVERROR(ENOMEM); - ff_insert_outpad(ctx, 1, &pad); + ret = ff_insert_outpad(ctx, 1, &pad); + if (ret < 0) { + av_freep(&pad.name); + return ret; + } } return 0;