[FFmpeg-cvslog] avformat/iamfdec: free superfluous objects

James Almer git at videolan.org
Tue Jan 23 15:04:51 EET 2024


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Tue Jan 23 09:58:39 2024 -0300| [b6af126c72e6f2988ca29c189926b20f12ff19de] | committer: James Almer

avformat/iamfdec: free superfluous objects

The AVIAMFAudioElement and AVIAMFMixPresentation that are ultimately used
are allocated by ff_iamfdec_read_descriptors().

Fixes some memory leaks reported by Valgrind.

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b6af126c72e6f2988ca29c189926b20f12ff19de
---

 libavformat/iamfdec.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/iamfdec.c b/libavformat/iamfdec.c
index 28d69b8b3f..3b8d2ff358 100644
--- a/libavformat/iamfdec.c
+++ b/libavformat/iamfdec.c
@@ -404,6 +404,7 @@ static int iamf_read_header(AVFormatContext *s)
         if (!stg)
             return AVERROR(ENOMEM);
 
+        av_iamf_audio_element_free(&stg->params.iamf_audio_element);
         stg->id = audio_element->audio_element_id;
         stg->params.iamf_audio_element = audio_element->element;
 
@@ -435,6 +436,7 @@ static int iamf_read_header(AVFormatContext *s)
         if (!stg)
             return AVERROR(ENOMEM);
 
+        av_iamf_mix_presentation_free(&stg->params.iamf_mix_presentation);
         stg->id = mix_presentation->mix_presentation_id;
         stg->params.iamf_mix_presentation = mix_presentation->mix;
 



More information about the ffmpeg-cvslog mailing list