From 09391ddc9578f1526baeb8590b1b48b9249cef8b Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Thu, 6 Jul 2023 08:34:17 -0700 Subject: [PATCH] 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 3de8d47e9d..b4573187c6 100644 --- a/src/include/lib/simplehash.h +++ b/src/include/lib/simplehash.h @@ -840,7 +840,6 @@ SH_DELETE(SH_TYPE * tb, SH_KEY_TYPE key) SH_SCOPE void SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) { - int i; uint64 startelem = PG_UINT64_MAX; /* @@ -848,7 +847,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]; @@ -859,6 +858,7 @@ SH_START_ITERATE(SH_TYPE * tb, SH_ITERATOR * iter) } } + /* we should have found an empty element */ Assert(startelem < SH_MAX_SIZE); /*