Browse code

avfilter/avf_concat: check ff_insert_pad() for failure

Signed-off-by: Paul B Mahol <onemda@gmail.com>

Paul B Mahol authored on 2017/08/25 17:13:48
Showing 1 changed files
... ...
@@ -361,6 +361,7 @@ static av_cold int init(AVFilterContext *ctx)
361 361
 {
362 362
     ConcatContext *cat = ctx->priv;
363 363
     unsigned seg, type, str;
364
+    int ret;
364 365
 
365 366
     /* create input pads */
366 367
     for (seg = 0; seg < cat->nb_segments; seg++) {
... ...
@@ -373,7 +374,10 @@ static av_cold int init(AVFilterContext *ctx)
373 373
                     .filter_frame     = filter_frame,
374 374
                 };
375 375
                 pad.name = av_asprintf("in%d:%c%d", seg, "va"[type], str);
376
-                ff_insert_inpad(ctx, ctx->nb_inputs, &pad);
376
+                if ((ret = ff_insert_inpad(ctx, ctx->nb_inputs, &pad)) < 0) {
377
+                    av_freep(&pad.name);
378
+                    return ret;
379
+                }
377 380
             }
378 381
         }
379 382
     }
... ...
@@ -386,7 +390,10 @@ static av_cold int init(AVFilterContext *ctx)
386 386
                 .request_frame = request_frame,
387 387
             };
388 388
             pad.name = av_asprintf("out:%c%d", "va"[type], str);
389
-            ff_insert_outpad(ctx, ctx->nb_outputs, &pad);
389
+            if ((ret = ff_insert_outpad(ctx, ctx->nb_outputs, &pad)) < 0) {
390
+                av_freep(&pad.name);
391
+                return ret;
392
+            }
390 393
         }
391 394
     }
392 395