summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2018-09-15 21:44:13 +0200
committerPaul B Mahol <onemda@gmail.com>2018-09-15 21:59:01 +0200
commite334765408d016801db7580498d82b0555ff5aec (patch)
tree4cdfc0c59e2d54c9dba505d7e770f95e410ec8a1 /libavfilter
parent876101cf41357941abcb3981ca0d742e63a9921b (diff)
avfilter/af_anequalizer: check return value of ff_insert_outpad()
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/af_anequalizer.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/libavfilter/af_anequalizer.c b/libavfilter/af_anequalizer.c
index 24034602fd..03d939f170 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;