avfilter/f_interleave: check ff_insert_inpad() for failure
authorPaul B Mahol <onemda@gmail.com>
Fri, 25 Aug 2017 07:53:46 +0000 (09:53 +0200)
committerPaul B Mahol <onemda@gmail.com>
Fri, 25 Aug 2017 07:53:46 +0000 (09:53 +0200)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/f_interleave.c

index a988900..d8a73b5 100644 (file)
@@ -110,7 +110,7 @@ static av_cold int init(AVFilterContext *ctx)
 {
     InterleaveContext *s = ctx->priv;
     const AVFilterPad *outpad = &ctx->filter->outputs[0];
-    int i;
+    int i, ret;
 
     s->queues = av_calloc(s->nb_inputs, sizeof(s->queues[0]));
     if (!s->queues)
@@ -133,7 +133,10 @@ static av_cold int init(AVFilterContext *ctx)
         default:
             av_assert0(0);
         }
-        ff_insert_inpad(ctx, i, &inpad);
+        if ((ret = ff_insert_inpad(ctx, i, &inpad)) < 0) {
+            av_freep(&inpad.name);
+            return ret;
+        }
     }
 
     return 0;