PR #23025 opened by James Almer (jamrial) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23025 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23025.patch
Should fix issue #23010 >From f0ab92efc7d1cd62325a6b1c0a25b7640cdabba7 Mon Sep 17 00:00:00 2001 From: James Almer <[email protected]> Date: Tue, 5 May 2026 16:25:57 -0300 Subject: [PATCH] avformat/nal: take into account removed zero bytes when calculating buffer size in nal_parse_units() Should fix issue #23010 Signed-off-by: James Almer <[email protected]> --- libavformat/nal.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/nal.c b/libavformat/nal.c index f94dc90995..17b0ed1b7c 100644 --- a/libavformat/nal.c +++ b/libavformat/nal.c @@ -87,10 +87,10 @@ static int nal_parse_units(AVIOContext *pb, NALUList *list, break; nal_end = ff_nal_find_startcode(nal_start, end); + size_t nalu_size = nal_end - nal_start; + while (nalu_size > 0 && nal_start[nalu_size - 1] == 0) + --nalu_size; if (pb) { - ptrdiff_t nalu_size = nal_end - nal_start; - while (nalu_size > 0 && nal_start[nalu_size - 1] == 0) - --nalu_size; avio_wb32(pb, nalu_size); avio_write(pb, nal_start, nalu_size); } else if (list->nb_nalus >= nalu_limit) { @@ -102,9 +102,9 @@ static int nal_parse_units(AVIOContext *pb, NALUList *list, return AVERROR(ENOMEM); list->nalus = tmp; tmp[list->nb_nalus++] = (NALU){ .offset = nal_start - p, - .size = nal_end - nal_start }; + .size = nalu_size }; } - size += 4 + nal_end - nal_start; + size += 4 + nalu_size; nal_start = nal_end; } return size; -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
