Merge pull request #3153

ab58b150 p2p: fix picking peers off an empty gray list (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2018-01-25 16:51:50 -08:00
commit 5a15a8322e
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD

View file

@ -1062,7 +1062,10 @@ namespace nodetool
max_random_index = std::min<uint64_t>(local_peers_count -1, 20); max_random_index = std::min<uint64_t>(local_peers_count -1, 20);
random_index = get_random_index_with_fixed_probability(max_random_index); random_index = get_random_index_with_fixed_probability(max_random_index);
} else { } else {
random_index = crypto::rand<size_t>() % m_peerlist.get_gray_peers_count(); local_peers_count = m_peerlist.get_gray_peers_count();
if (!local_peers_count)
return false;
random_index = crypto::rand<size_t>() % local_peers_count;
} }
CHECK_AND_ASSERT_MES(random_index < local_peers_count, false, "random_starter_index < peers_local.size() failed!!"); CHECK_AND_ASSERT_MES(random_index < local_peers_count, false, "random_starter_index < peers_local.size() failed!!");