From: Andres Freund Date: Thu, 6 Jul 2023 15:34:17 +0000 (-0700) Subject: Fix type of iterator variable in SH_START_ITERATE X-Git-Tag: REL_14_9~28 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=1508b57d4b7a67c1febb5dd71a17c9a08359c8e4;p=postgresql.git Fix type of iterator variable in SH_START_ITERATE Also add comment to make the reasoning behind the Assert() more explicit (per Tom). Reported-by: Ranier Vilela Discussion: https://postgr.es/m/CAEudQAocXNJ6s1VLz+hMamLAQAiewRoW17OJ6-+9GACKfj6iPQ@mail.gmail.com Backpatch: 11- --- diff --git a/src/include/lib/simplehash.h b/src/include/lib/simplehash.h index 816ee5a0acd..548526f7615 100644 --- a/src/include/lib/simplehash.h +++ b/src/include/lib/simplehash.h @@ -965,7 +965,6 @@ SH_DELETE_ITEM(SH_TYPE * tb, SH_ELEMENT_TYPE * entry) SH_SCOPE void SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) { - int i; uint64 startelem = PG_UINT64_MAX; /* @@ -973,7 +972,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) * supported, we want to start/end at an element that cannot be affected * by elements being shifted. */ - for (i = 0; i < tb->size; i++) + for (uint32 i = 0; i < tb->size; i++) { SH_ELEMENT_TYPE *entry = &tb->data[i]; @@ -984,6 +983,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) } } + /* we should have found an empty element */ Assert(startelem < SH_MAX_SIZE); /*