postgres.git / summary / log / commit / refs
commit 1508b57d4b7a67c1febb5dd71a17c9a08359c8e4
Author: Andres Freund <andres@anarazel.de>
Date: Thu Jul 06 15:34:17 2023 +0000
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-
src/include/lib/simplehash.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
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);
/*
[parent: fb0f05576a0a]