avfilter/af_channelmap: Reorder operations to avoid memleak
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 3 Sep 2015 22:10:41 +0000 (00:10 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 3 Sep 2015 22:10:41 +0000 (00:10 +0200)
Fixes CID1322346
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavfilter/af_channelmap.c

index dae79c1..37b47b2 100644 (file)
@@ -290,15 +290,15 @@ static int channelmap_query_formats(AVFilterContext *ctx)
     AVFilterChannelLayouts *layouts;
     AVFilterChannelLayouts *channel_layouts = NULL;
 
+    layouts = ff_all_channel_layouts();
+    if (!layouts)
+        return AVERROR(ENOMEM);
+
     ff_add_channel_layout(&channel_layouts, s->output_layout);
 
     ff_set_common_formats(ctx, ff_planar_sample_fmts());
     ff_set_common_samplerates(ctx, ff_all_samplerates());
 
-    layouts = ff_all_channel_layouts();
-    if (!layouts)
-        return AVERROR(ENOMEM);
-
     ff_channel_layouts_ref(layouts, &ctx->inputs[0]->out_channel_layouts);
     ff_channel_layouts_ref(channel_layouts,          &ctx->outputs[0]->in_channel_layouts);