Commit 196d3fca59 for ffmpeg
commit 196d3fca59053bdee3093f696b278e065cb5b310
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Wed Nov 11 17:42:34 2026 +0100
avformat/mov: ignore iacb outside a trak
Fixes: codec id change by an iacb outside a trak
Fixes: sj3x4TsLBhUY
Found during the review of https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/25671
diff --git a/libavformat/mov.c b/libavformat/mov.c
index ca33cb2285..65f66f6c15 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -928,12 +928,13 @@ static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom)
int nb_frames, disposition;
int version, ret;
+ st = get_curr_st(c);
+ if (!st)
+ return 0;
+
if (atom.size < 5)
return AVERROR_INVALIDDATA;
- if (c->fc->nb_streams < 1)
- return 0;
-
version = avio_r8(pb);
if (version != 1) {
av_log(c->fc, AV_LOG_ERROR, "%s configurationVersion %d",
@@ -945,7 +946,6 @@ static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (!descriptors_size || descriptors_size > INT_MAX)
return AVERROR_INVALIDDATA;
- st = c->fc->streams[c->fc->nb_streams - 1];
sc = st->priv_data;
if (st->codecpar->extradata) {