Commit 12b7b9891b for ffmpeg
commit 12b7b9891b517d1fdbcac938d8f134c4f1ad656e
Author: Michael Niedermayer <michael@niedermayer.cc>
Date: Tue Sep 22 00:30:20 2026 +0200
avfilter/vf_minterpolate: skip AOBMC neighbours outside the block grid
Found-by: zhang xingxing <2388969553@qq.com>
Suggested-by: zhang xingxing <2388969553@qq.com>
Fixes: out of array read
Fixes: H4m9FuNqTLv6
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];