ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241518

Signed-off-by: Reynaldo H. Verdejo Pinochet <reyna...@osg.samsung.com>
---
 libavfilter/af_join.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/libavfilter/af_join.c b/libavfilter/af_join.c
index 560c5c8..a1717c6 100644
--- a/libavfilter/af_join.c
+++ b/libavfilter/af_join.c
@@ -248,9 +248,12 @@ static int join_query_formats(AVFilterContext *ctx)
     ff_add_channel_layout(&layouts, s->channel_layout);
     ff_channel_layouts_ref(layouts, &ctx->outputs[0]->in_channel_layouts);
 
-    for (i = 0; i < ctx->nb_inputs; i++)
-        ff_channel_layouts_ref(ff_all_channel_layouts(),
-                               &ctx->inputs[i]->out_channel_layouts);
+    for (i = 0; i < ctx->nb_inputs; i++) {
+        layouts = ff_all_channel_layouts();
+        if (!layouts)
+            return AVERROR(ENOMEM);
+        ff_channel_layouts_ref(layouts, &ctx->inputs[i]->out_channel_layouts);
+    }
 
     ff_set_common_formats    (ctx, ff_planar_sample_fmts());
     ff_set_common_samplerates(ctx, ff_all_samplerates());
-- 
2.1.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to