This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

The following commit(s) were added to refs/heads/master by this push:
     new 974a75798a avformat/mov_chan: free temporary layout on error paths
974a75798a is described below

commit 974a75798a53736067008d3dd4cad97d167ca0db
Author:     Zhao Zhili <[email protected]>
AuthorDate: Mon Jun 15 22:23:45 2026 +0800
Commit:     James Almer <[email protected]>
CommitDate: Mon Jun 15 15:13:53 2026 +0000

    avformat/mov_chan: free temporary layout on error paths
---
 libavformat/mov_chan.c | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/libavformat/mov_chan.c b/libavformat/mov_chan.c
index cdf5e88ea1..8274e62f3d 100644
--- a/libavformat/mov_chan.c
+++ b/libavformat/mov_chan.c
@@ -402,8 +402,10 @@ static int mov_get_channel_layout(AVChannelLayout 
*ch_layout, uint32_t tag, uint
         }
 
         ret = av_channel_layout_retype(&tmp, 0, 
AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL);
-        if (ret < 0)
+        if (ret < 0) {
+            av_channel_layout_uninit(&tmp);
             return ret;
+        }
 
         av_channel_layout_uninit(ch_layout);
         *ch_layout = tmp;
@@ -596,6 +598,7 @@ int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, 
AVStream *st,
             if (pb->eof_reached) {
                 av_log(s, AV_LOG_ERROR,
                        "reached EOF while reading channel layout\n");
+                av_channel_layout_uninit(&tmp);
                 return AVERROR_INVALIDDATA;
             }
             label     = avio_rb32(pb);          // mChannelLabel
@@ -608,8 +611,10 @@ int ff_mov_read_chan(AVFormatContext *s, AVIOContext *pb, 
AVStream *st,
         }
 
         ret = av_channel_layout_retype(&tmp, 0, 
AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL);
-        if (ret < 0)
+        if (ret < 0) {
+            av_channel_layout_uninit(&tmp);
             goto out;
+        }
 
         av_channel_layout_uninit(ch_layout);
         *ch_layout = tmp;
@@ -813,8 +818,10 @@ int ff_mov_read_chnl(AVFormatContext *s, AVIOContext *pb, 
AVStream *st, int vers
             }
 
             ret = av_channel_layout_retype(&tmp, 0, 
AV_CHANNEL_LAYOUT_RETYPE_FLAG_CANONICAL);
-            if (ret < 0)
+            if (ret < 0) {
+                av_channel_layout_uninit(&tmp);
                 return ret;
+            }
             av_channel_layout_uninit(ch_layout);
             *ch_layout = tmp;
         } else {

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to