From a9ea79bb4976382b5648647013290ab61cf031e7 Mon Sep 17 00:00:00 2001 From: "Reynaldo H. Verdejo Pinochet" Date: Fri, 26 Sep 2014 16:37:28 -0300 Subject: [PATCH] libavfilter/af_amix: avoid derreferencing possible null ff_all_channel_layouts() might return null on alloc failure. Fixes CID1241516 Signed-off-by: Reynaldo H. Verdejo Pinochet --- libavfilter/af_amix.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libavfilter/af_amix.c b/libavfilter/af_amix.c index d8a6651fce..47cbb45a7a 100644 --- a/libavfilter/af_amix.c +++ b/libavfilter/af_amix.c @@ -528,10 +528,17 @@ static av_cold void uninit(AVFilterContext *ctx) static int query_formats(AVFilterContext *ctx) { AVFilterFormats *formats = NULL; + AVFilterChannelLayouts *layouts; + + layouts = ff_all_channel_layouts(); + + if (!layouts) + return AVERROR(ENOMEM); + ff_add_format(&formats, AV_SAMPLE_FMT_FLT); ff_add_format(&formats, AV_SAMPLE_FMT_FLTP); ff_set_common_formats(ctx, formats); - ff_set_common_channel_layouts(ctx, ff_all_channel_layouts()); + ff_set_common_channel_layouts(ctx, layouts); ff_set_common_samplerates(ctx, ff_all_samplerates()); return 0; }