From b5391a5fc9049addae418073393765703ecbbf9a Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Date: Mon, 17 Mar 2025 09:53:42 +0100 Subject: [PATCH 1/3] avcodec/h261enc: Don't use (size_t)-1 Fixes "runtime error: addition of unsigned offset to 0x765a09523a90 overflowed to 0x765a09523a8e". This fixes all H.261 tests when run under UBsan. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> --- libavcodec/h261enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/h261enc.c b/libavcodec/h261enc.c index 36436ee60f..5e6d5d1f9c 100644 --- a/libavcodec/h261enc.c +++ b/libavcodec/h261enc.c @@ -337,7 +337,7 @@ static av_cold void h261_encode_init_static(void) uni_h261_rl_len_last[UNI_AC_ENC_INDEX(run, 64 - level)] = len + 2; } - for (size_t i = 1;; i++) { + for (ptrdiff_t i = 1;; i++) { // sign-one MV codes; diff -16..-1, 16..31 mv_codes[32 - i][0] = mv_codes[-i][0] = (ff_h261_mv_tab[i][0] << 1) | 1 /* sign */; mv_codes[32 - i][1] = mv_codes[-i][1] = ff_h261_mv_tab[i][1] + 1; -- 2.45.2