From b5f92b8eb4398e747cd438c259e54f8f540f778c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Herrera?= Date: Mon, 4 May 2026 20:01:19 +0200 Subject: [PATCH] Fix off-by-one in repack index loop MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A blunder of mine (Álvaro) in commit 28d534e2ae0a. Author: Lakshmi N Reviewed-by: Xiaopeng Wang Reviewed-by: John Naylor Discussion: https://postgr.es/m/CA+3i_M9ytFufvD8Tm0rhpfxuC4XrpgQDBHxM7NJQYxv488JW7w@mail.gmail.com --- src/backend/commands/repack.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/commands/repack.c b/src/backend/commands/repack.c index 9d162957bc3..dca3997c31b 100644 --- a/src/backend/commands/repack.c +++ b/src/backend/commands/repack.c @@ -3017,7 +3017,7 @@ rebuild_relation_finish_concurrent(Relation NewHeap, Relation OldHeap, { int pos = foreach_current_index(ind_old); - if (unlikely(list_length(ind_oids_new) < pos)) + if (list_length(ind_oids_new) <= pos) elog(ERROR, "list of new indexes too short"); ident_idx_new = list_nth_oid(ind_oids_new, pos); break;