p2p: fix picking peers off an empty gray list

This commit is contained in:
moneromooo-monero 2018-01-18 16:54:52 +00:00
parent 35d5aa36c9
commit ab58b150ef
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3
1 changed files with 4 additions and 1 deletions

View File

@ -1062,7 +1062,10 @@ namespace nodetool
max_random_index = std::min<uint64_t>(local_peers_count -1, 20);
random_index = get_random_index_with_fixed_probability(max_random_index);
} 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!!");