avfilter/avf_concat: check ff_insert_pad() for failure
authorPaul B Mahol <onemda@gmail.com>
Fri, 25 Aug 2017 08:13:48 +0000 (10:13 +0200)
committerPaul B Mahol <onemda@gmail.com>
Fri, 25 Aug 2017 08:16:46 +0000 (10:16 +0200)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavfilter/avf_concat.c

index 4c49368..6198a33 100644 (file)
@@ -361,6 +361,7 @@ static av_cold int init(AVFilterContext *ctx)
 {
     ConcatContext *cat = ctx->priv;
     unsigned seg, type, str;
+    int ret;
 
     /* create input pads */
     for (seg = 0; seg < cat->nb_segments; seg++) {
@@ -373,7 +374,10 @@ static av_cold int init(AVFilterContext *ctx)
                     .filter_frame     = filter_frame,
                 };
                 pad.name = av_asprintf("in%d:%c%d", seg, "va"[type], str);
-                ff_insert_inpad(ctx, ctx->nb_inputs, &pad);
+                if ((ret = ff_insert_inpad(ctx, ctx->nb_inputs, &pad)) < 0) {
+                    av_freep(&pad.name);
+                    return ret;
+                }
             }
         }
     }
@@ -386,7 +390,10 @@ static av_cold int init(AVFilterContext *ctx)
                 .request_frame = request_frame,
             };
             pad.name = av_asprintf("out:%c%d", "va"[type], str);
-            ff_insert_outpad(ctx, ctx->nb_outputs, &pad);
+            if ((ret = ff_insert_outpad(ctx, ctx->nb_outputs, &pad)) < 0) {
+                av_freep(&pad.name);
+                return ret;
+            }
         }
     }