Commit c58b6c14b3 for ffmpeg
commit c58b6c14b321f927be8ed0585423c480e3873f1f
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Wed Oct 7 00:10:02 2026 +0200
avformat/nutenc: Do not write the BlockAddID as part of CodecSpecificSide
The BlockAddID is already in the CodecSpecificSide name, nutdec adds it
to the side data again, so each remux through NUT added 8 bytes.
Fixes: c0A4sxdoEpO2
BlockAdditional growing by 8 bytes Replicated through UnModified FFmpeg
Found during triage of the security report AISLE-2026-0111-00173
diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c
index a204141df4..5bf030cde3 100644
--- a/libavformat/nutenc.c
+++ b/libavformat/nutenc.c
@@ -906,6 +906,8 @@ static int write_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int
} else if(pkt->side_data[i].type == AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL) {
snprintf(tmp, sizeof(tmp), "CodecSpecificSide%"PRId64"", AV_RB64(data));
put_str(dyn_bc, tmp);
+ data += 8;
+ size -= 8;
} else {
snprintf(tmp, sizeof(tmp), "UserData%s-SD-%d",
(s->flags & AVFMT_FLAG_BITEXACT) ? "Lavf" : LIBAVFORMAT_IDENT,
@@ -914,8 +916,8 @@ static int write_sm_data(AVFormatContext *s, AVIOContext *bc, AVPacket *pkt, int
}
put_s(dyn_bc, -2);
put_str(dyn_bc, "bin");
- put_v(dyn_bc, pkt->side_data[i].size);
- avio_write(dyn_bc, data, pkt->side_data[i].size);
+ put_v(dyn_bc, size);
+ avio_write(dyn_bc, data, size);
sm_data_count++;
break;
case AV_PKT_DATA_PARAM_CHANGE: