From 06b6fc3d9aecd5111b12ff18a018839bf4e4220c Mon Sep 17 00:00:00 2001 From: tolgahan Date: Wed, 30 Sep 2026 09:51:54 +0300 Subject: [PATCH] Fix peer selection bounds --- src/p2p/net_node.inl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl index 8dbb7bc37cd..908a7817270 100755 --- a/src/p2p/net_node.inl +++ b/src/p2p/net_node.inl @@ -1035,7 +1035,7 @@ namespace nodetool static_cast(-1.0 / rate * std::log(1.0 - u * (1.0 - std::exp(-rate * size)))); MDEBUG("Random connection index= "< @@ -1367,10 +1367,11 @@ namespace nodetool MDEBUG("No available peer in " << (use_white_list ? "white" : "gray") << " list filtered by " << next_needed_pruning_stripe); return false; } + max_random_index = std::min(filtered.size() - 1, 20); if (use_white_list) { // if using the white list, we first pick in the set of peers we've already been using earlier - random_index = get_random_exp_index(std::min(filtered.size() - 1, 20)); + random_index = get_random_exp_index(filtered.size()); std::lock_guard lock{m_used_stripe_peers_mutex}; if (next_needed_pruning_stripe > 0 && next_needed_pruning_stripe <= (1ul << cryptonote::PRUNING_LOG_STRIPES) && !m_used_stripe_peers[next_needed_pruning_stripe-1].empty()) {