aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2025-08-01 14:15:47 -0300
committerJames Almer <jamrial@gmail.com>2025-08-01 19:35:43 +0000
commit2b522f537f565d6b4c23e12bd22c2102a32b1649 (patch)
tree501872c7a84d3cd157f1e121ed6379bea6c79123
parentc6b3aae0ee5d05234920e5679a43f8351e2ed4b3 (diff)
downloadffmpeg-2b522f537f565d6b4c23e12bd22c2102a32b1649.tar.gz
avformat/mov: add extra sanity checks before setting the primary extradata
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavformat/mov.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7f88ec8220..d6bc377ace 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -10667,7 +10667,8 @@ static int mov_read_header(AVFormatContext *s)
fix_timescale(mov, sc);
/* Set the primary extradata based on the first Sample. */
- if (sc->stsc_count && sc->extradata_size && !sc->iamf) {
+ if (sc->stsc_count && sc->extradata_size && !sc->iamf &&
+ sc->stsc_data[0].id > 0 && sc->stsc_data[0].id <= sc->stsd_count) {
sc->last_stsd_index = sc->stsc_data[0].id - 1;
av_freep(&st->codecpar->extradata);
st->codecpar->extradata_size = sc->extradata_size[sc->last_stsd_index];