From c1c58188cbc1156f2b37d585fa7e7603b3d3acf4 Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Wed, 27 Aug 2025 15:09:08 -0400 Subject: pkbktarr: ensure valid iter increment --- pkbktarr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkbktarr.h b/pkbktarr.h index e4e8daa..87e71ad 100644 --- a/pkbktarr.h +++ b/pkbktarr.h @@ -380,11 +380,11 @@ bool pk_bkt_arr_iter_increment(struct pk_bkt_arr *arr, struct pk_iter *it) { if (it->id.bkt.b == arr->limits.b-1 && it->id.bkt.i == arr->limits.i-1) return false; for (;;) { handle = pk_bkt_arr_handle_increment(arr, handle); + if (handle.b >= arr->reserved_buckets) return false; if ((arr->idx_unused[handle.b] & (1ull << handle.i)) == 0) break; } it->id.bkt.b = handle.b; it->id.bkt.i = handle.i; - if (handle.b >= arr->reserved_buckets) return false; if ((arr->idx_unused[it->id.bkt.b] & (1ull << it->id.bkt.i)) != 0) return false; it->data = (char*)(arr->bucketed_data[it->id.bkt.b]) + (arr->stride * it->id.bkt.i); return true; -- cgit v1.2.3