Message ID | AS8P250MB07449482619B4CD9CBF6BD568F512@AS8P250MB0744.EURP250.PROD.OUTLOOK.COM |
---|---|
State | Accepted |
Commit | 94fadd335bd1405b6fad7c8d0a249c78bd475ff9 |
Headers | show |
Series | [FFmpeg-devel,1/5] avformat/iamf_writer: Don't leak on error when adding ParamDefinition | expand |
Context | Check | Description |
---|---|---|
andriy/configure_x86 | warning | Failed to apply patch |
yinshiyou/configure_loongarch64 | warning | Failed to apply patch |
On 2/19/2024 6:51 PM, Andreas Rheinhardt wrote: > Fix this by postponing the allocation. > Fixes Coverity issue #1559545. > > Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> > --- > libavformat/iamf_writer.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/libavformat/iamf_writer.c b/libavformat/iamf_writer.c > index 1a360dee2f..897b06310f 100644 > --- a/libavformat/iamf_writer.c > +++ b/libavformat/iamf_writer.c > @@ -138,10 +138,6 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD > > iamf->param_definitions = tmp; > > - param_definition = av_mallocz(sizeof(*param_definition)); > - if (!param_definition) > - return NULL; > - > if (audio_element) > 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_definition = av_mallocz(sizeof(*param_definition)); > + if (!param_definition) > + return NULL; > + > param_definition->mode = !!param->duration; > param_definition->param = param; > param_definition->audio_element = audio_element; LGTM
diff --git a/libavformat/iamf_writer.c b/libavformat/iamf_writer.c index 1a360dee2f..897b06310f 100644 --- a/libavformat/iamf_writer.c +++ b/libavformat/iamf_writer.c @@ -138,10 +138,6 @@ static IAMFParamDefinition *add_param_definition(IAMFContext *iamf, AVIAMFParamD iamf->param_definitions = tmp; - param_definition = av_mallocz(sizeof(*param_definition)); - if (!param_definition) - return NULL; - if (audio_element) 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_definition = av_mallocz(sizeof(*param_definition)); + if (!param_definition) + return NULL; + param_definition->mode = !!param->duration; param_definition->param = param; param_definition->audio_element = audio_element;
Fix this by postponing the allocation. Fixes Coverity issue #1559545. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavformat/iamf_writer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)