libavfilter/af_join: avoid derreferencing possible null

ff_all_channel_layouts() might return null on alloc failure.

Fixes CID1241518

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
This commit is contained in:
Reynaldo H. Verdejo Pinochet 2014-09-26 12:52:09 -03:00
parent 7618d360ca
commit e3e051c42c
1 changed files with 6 additions and 3 deletions

View File

@ -248,9 +248,12 @@ static int join_query_formats(AVFilterContext *ctx)
ff_add_channel_layout(&layouts, s->channel_layout); ff_add_channel_layout(&layouts, s->channel_layout);
ff_channel_layouts_ref(layouts, &ctx->outputs[0]->in_channel_layouts); ff_channel_layouts_ref(layouts, &ctx->outputs[0]->in_channel_layouts);
for (i = 0; i < ctx->nb_inputs; i++) for (i = 0; i < ctx->nb_inputs; i++) {
ff_channel_layouts_ref(ff_all_channel_layouts(), layouts = ff_all_channel_layouts();
&ctx->inputs[i]->out_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_formats (ctx, ff_planar_sample_fmts());
ff_set_common_samplerates(ctx, ff_all_samplerates()); ff_set_common_samplerates(ctx, ff_all_samplerates());