postgres.git / summary / log / commit / refs
commit b5f92b8eb4398e747cd438c259e54f8f540f778c
Author: Álvaro Herrera <alvherre@kurilemu.de>
Date: Mon May 04 18:01:19 2026 +0000
Fix off-by-one in repack index loop
A blunder of mine (Álvaro) in commit 28d534e2ae0a.
Author: Lakshmi N <lakshmin.jhs@gmail.com>
Reviewed-by: Xiaopeng Wang <wxp_728@163.com>
Reviewed-by: John Naylor <johncnaylorls@gmail.com>
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;
[parent: dc9e7c9ed938]