PR #24621 opened by michaelni
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24621
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24621.patch

Found-by: zhang xingxing <[email protected]>
Suggested-by: zhang xingxing <[email protected]>
Fixes: out of array read
Fixes: H4m9FuNqTLv6



>From 14ea552974d09296b1c6972b10554960ece552e0 Mon Sep 17 00:00:00 2001
From: Michael Niedermayer <[email protected]>
Date: Tue, 22 Sep 2026 00:30:20 +0200
Subject: [PATCH] avfilter/vf_minterpolate: skip AOBMC neighbours outside the
 block grid

Found-by: zhang xingxing <[email protected]>
Suggested-by: zhang xingxing <[email protected]>
Fixes: out of array read
Fixes: H4m9FuNqTLv6
---
 libavfilter/vf_minterpolate.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c
index 27ac4a5d29..fa63dc4a37 100644
--- a/libavfilter/vf_minterpolate.c
+++ b/libavfilter/vf_minterpolate.c
@@ -1053,7 +1053,7 @@ static void bilateral_obmc(MIContext *mi_ctx, Block 
*block, int mb_x, int mb_y,
                 nb_x = (((x - start_x) >> (mi_ctx->log2_mb_size - 1)) * 2 - 3) 
/ 2;
                 nb_y = (((y - start_y) >> (mi_ctx->log2_mb_size - 1)) * 2 - 3) 
/ 2;
 
-                if (nb_x || nb_y) {
+                if ((nb_x || nb_y) && mb_x + nb_x < mi_ctx->b_width && mb_y + 
nb_y < mi_ctx->b_height) {
                     uint64_t sbad = sbads[nb_x + 1 + (nb_y + 1) * 3];
                     nb = &mi_ctx->int_blocks[mb_x + nb_x + (mb_y + nb_y) * 
mi_ctx->b_width];
 
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to