PR #21691 opened by michaelni
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21691
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21691.patch

Signed-off-by: Michael Niedermayer <[email protected]>


>From 192f9e5061d8c1d7cf9ce7ffc4b48e46c3cc51f0 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Mon, 9 Feb 2026 03:07:21 +0100
Subject: [PATCH] avformat/mov: check for duplicate stsd before changing state

Signed-off-by: Michael Niedermayer <[email protected]>
---
 libavformat/mov.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index d19b213ffa..e0f984ccad 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3209,6 +3209,12 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
     st = c->fc->streams[c->fc->nb_streams - 1];
     sc = st->priv_data;
 
+    if (sc->extradata) {
+        av_log(c->fc, AV_LOG_ERROR,
+               "Duplicate stsd found in this track.\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     sc->stsd_version = avio_r8(pb);
     avio_rb24(pb); /* flags */
     entries = avio_rb32(pb);
@@ -3219,12 +3225,6 @@ static int mov_read_stsd(MOVContext *c, AVIOContext *pb, 
MOVAtom atom)
         return AVERROR_INVALIDDATA;
     }
 
-    if (sc->extradata) {
-        av_log(c->fc, AV_LOG_ERROR,
-               "Duplicate stsd found in this track.\n");
-        return AVERROR_INVALIDDATA;
-    }
-
     /* Prepare space for hosting multiple extradata. */
     sc->extradata = av_calloc(entries, sizeof(*sc->extradata));
     if (!sc->extradata)
-- 
2.52.0

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

Reply via email to