From 632960a33eb8d23925b2bbef24d5065de7280aef Mon Sep 17 00:00:00 2001 From: Dirk Engling Date: Sun, 25 Oct 2026 13:00:17 +0100 Subject: Clean up peer re-distribution between single bucket vectors and bucket lists, add tests --- ot_vector.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'ot_vector.c') diff --git a/ot_vector.c b/ot_vector.c index c4cd171..7f18246 100644 --- a/ot_vector.c +++ b/ot_vector.c @@ -8,7 +8,6 @@ #include #include #include -#include /* Opentracker */ #include "trackerlogic.h" @@ -174,7 +173,7 @@ void vector_clean_list(ot_vector *vector, size_t num_buckets) { } void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { - size_t tmp, bucket, bucket_size_new, num_buckets_new, num_buckets_old = 1; + size_t bucket, bucket_size_new, num_buckets_new, num_buckets_old = 1; ot_vector *bucket_list_new, *bucket_list_old = &peer_list->peers; int (*sort_func)(const void *, const void *) = peer_size == OT_PEER_SIZE6 ? &vector_compare_peer6 : &vector_compare_peer4; @@ -205,11 +204,10 @@ void vector_redistribute_buckets(ot_peerlist *peer_list, size_t peer_size) { bucket_list_new = malloc(num_buckets_new * sizeof(ot_vector)); if (!bucket_list_new) return; - bzero(bucket_list_new, num_buckets_new * sizeof(ot_vector)); + memset(bucket_list_new, 0, num_buckets_new * sizeof(ot_vector)); - tmp = peer_list->peer_count / num_buckets_new; bucket_size_new = OT_VECTOR_MIN_MEMBERS; - while (bucket_size_new < tmp) + while (bucket_size_new * num_buckets_new < peer_list->peer_count) bucket_size_new *= OT_VECTOR_GROW_RATIO; /* preallocate vectors to hold all peers */ -- cgit v1.3