diff --git a/overlay/overlay-peers.cpp b/overlay/overlay-peers.cpp index f1621eb4..d3700244 100644 --- a/overlay/overlay-peers.cpp +++ b/overlay/overlay-peers.cpp @@ -624,10 +624,8 @@ std::vector OverlayImpl::get_neighbours(td::uint32 max_si for (td::uint32 i = 0; i < max_size; i++) { td::uint32 t = td::Random::fast(0, static_cast(peer_list_.neighbours_.size()) - 1 - i); td::uint32 j; - for (j = 0; j < i; j++) { - if (ul[j] <= t) { - t++; - } + for (j = 0; j < i && ul[j] <= t; j++) { + t++; } ul.emplace(ul.begin() + j, t); vec.push_back(peer_list_.neighbours_[t]);