mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/af_headphone: Fix leak of channel layouts list on error
In case the multichannel HRIR mode was enabled, an error could happen between allocating a channel layouts list and attaching it to its target destination. If an error happened, the list would leak. This is fixed by attaching the list to its target directly after its allocation. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
parent
0960da42f5
commit
ca8e5dedc7
|
@ -703,6 +703,9 @@ static int query_formats(AVFilterContext *ctx)
|
|||
return ret;
|
||||
|
||||
ret = ff_add_channel_layout(&stereo_layout, AV_CH_LAYOUT_STEREO);
|
||||
if (ret)
|
||||
return ret;
|
||||
ret = ff_channel_layouts_ref(stereo_layout, &ctx->outputs[0]->in_channel_layouts);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
@ -721,10 +724,6 @@ static int query_formats(AVFilterContext *ctx)
|
|||
}
|
||||
}
|
||||
|
||||
ret = ff_channel_layouts_ref(stereo_layout, &ctx->outputs[0]->in_channel_layouts);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
formats = ff_all_samplerates();
|
||||
if (!formats)
|
||||
return AVERROR(ENOMEM);
|
||||
|
|
Loading…
Reference in New Issue