avformat/iamf_writer: Don't leak on error when adding ParamDefinition
Fix this by postponing the allocation. Fixes Coverity issue #1559545. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
@@ -138,10 +138,6 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD
|
|||||||
|
|
||||||
iamf->param_definitions = tmp;
|
iamf->param_definitions = tmp;
|
||||||
|
|
||||||
param_definition = av_mallocz(sizeof(*param_definition));
|
|
||||||
if (!param_definition)
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
if (audio_element)
|
if (audio_element)
|
||||||
codec_config = iamf->codec_configs[audio_element->codec_config_id];
|
codec_config = iamf->codec_configs[audio_element->codec_config_id];
|
||||||
|
|
||||||
@@ -160,6 +156,10 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD
|
|||||||
param->constant_subblock_duration = codec_config->nb_samples;
|
param->constant_subblock_duration = codec_config->nb_samples;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
param_definition = av_mallocz(sizeof(*param_definition));
|
||||||
|
if (!param_definition)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
param_definition->mode = !!param->duration;
|
param_definition->mode = !!param->duration;
|
||||||
param_definition->param = param;
|
param_definition->param = param;
|
||||||
param_definition->audio_element = audio_element;
|
param_definition->audio_element = audio_element;
|
||||||
|
Reference in New Issue
Block a user