From d5dfd6094b38531b25b4e961494abf2528701048 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Fri, 20 Mar 2026 23:38:14 +0100 Subject: [PATCH] avcodec/dvdsub_parser: Fix buf_size check Fixes: signed integer overflow Fixes: out of array access Fixes: dvdsub_int_overflow_mixed_ps.mpg Found-by: Quang Luong of Calif.io in collaboration with OpenAI Codex Signed-off-by: Michael Niedermayer (cherry picked from commit 1bde76da890127608744c3b17669a99d2adce54a) Signed-off-by: Michael Niedermayer --- libavcodec/dvdsub_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/dvdsub_parser.c b/libavcodec/dvdsub_parser.c index 8871b6a383..400bdb8b9d 100644 --- a/libavcodec/dvdsub_parser.c +++ b/libavcodec/dvdsub_parser.c @@ -59,7 +59,7 @@ static int dvdsub_parse(AVCodecParserContext *s, pc->packet = av_malloc(pc->packet_len + AV_INPUT_BUFFER_PADDING_SIZE); } if (pc->packet) { - if (pc->packet_index + buf_size <= pc->packet_len) { + if (buf_size <= pc->packet_len - pc->packet_index) { memcpy(pc->packet + pc->packet_index, buf, buf_size); pc->packet_index += buf_size; if (pc->packet_index >= pc->packet_len) {