Commit 8ec2b44cfd for ffmpeg
commit 8ec2b44cfd402cdbf4e78ac2461b4b40788e594b
Author: James Almer <jamrial@gmail.com>
Date: Tue Oct 20 20:48:56 2026 -0300
avformat/mov: fix gain map payload length value
We discard the first byte from the payload, so take that into account afterwards.
Signed-off-by: James Almer <jamrial@gmail.com>
diff --git a/libavformat/mov.c b/libavformat/mov.c
index bb4c112f55..870cb9703e 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -11669,8 +11669,8 @@ static int mov_parse_heif_layered_video_tmap(AVFormatContext *s, const HEIFGroup
}
avio_r8(s->pb); /* version */
- err = avio_read(s->pb, payload, tmap->item->extent_length);
- if (err == tmap->item->extent_length)
+ err = avio_read(s->pb, payload, tmap->item->extent_length - 1);
+ if (err == (tmap->item->extent_length - 1))
err64 = avio_seek(s->pb, pos, SEEK_SET);
else {
err = err < 0 ? err : AVERROR_INVALIDDATA;
@@ -11681,7 +11681,7 @@ static int mov_parse_heif_layered_video_tmap(AVFormatContext *s, const HEIFGroup
goto fail;
}
- err = av_gain_map_params_from_iso21496(gain, payload, tmap->item->extent_length);
+ err = av_gain_map_params_from_iso21496(gain, payload, tmap->item->extent_length - 1);
av_freep(&payload);
if (err < 0)
goto fail;