]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix off-by-one in repack index loop
authorÁlvaro Herrera <alvherre@kurilemu.de>
Mon, 4 May 2026 18:01:19 +0000 (20:01 +0200)
committerÁlvaro Herrera <alvherre@kurilemu.de>
Mon, 4 May 2026 18:01:19 +0000 (20:01 +0200)
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

index 9d162957bc35acdfba9e0862704cfb3cd630c561..dca3997c31b3dc5f827c667ff0e1818221662779 100644 (file)
@@ -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;