From af147a1d147ce79636656b1b835230be29b6c3b9 Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Fri, 15 Dec 2006 22:07:33 +0000 Subject: Fixed mem leak, inmplemented mrtg_scrape --- trackerlogic.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'trackerlogic.c') diff --git a/trackerlogic.c b/trackerlogic.c index 7b5b94a..b9f14f0 100644 --- a/trackerlogic.c +++ b/trackerlogic.c @@ -210,6 +210,10 @@ size_t return_peers_for_torrent( ot_torrent *torrent, unsigned long amount, char off = 1 + ( off % ( peer_count - wert - 1 )); wert += off; pool_offset += off; + // In some rare occasions random gets the last peer a round to early + // correct that and return last peer twice + if( wert >= peer_count ) { wert--; pool_offset--; } + while( pool_offset >= torrent->peer_list->peers[pool_index].size ) { pool_offset -= torrent->peer_list->peers[pool_index].size; pool_index++; -- cgit v1.2.3