From b7b84bdec4c94c459ea67b44b829c495d6144312 Mon Sep 17 00:00:00 2001 From: Dirk Engling Date: Sun, 7 Apr 2024 00:06:27 +0200 Subject: Number of reported removed peers was too high, correct it by size of peer --- trackerlogic.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'trackerlogic.c') diff --git a/trackerlogic.c b/trackerlogic.c index 5e32f13..11113d2 100644 --- a/trackerlogic.c +++ b/trackerlogic.c @@ -21,6 +21,7 @@ /* Opentracker */ #include "trackerlogic.h" +#include "ot_vector.h" #include "ot_mutex.h" #include "ot_stats.h" #include "ot_clean.h" @@ -34,13 +35,10 @@ size_t return_peers_for_torrent( struct ot_workstruct * ws, ot_torrent *torrent, void free_peerlist( ot_peerlist *peer_list ) { if( peer_list->peers.data ) { - if( OT_PEERLIST_HASBUCKETS( peer_list ) ) { - ot_vector *bucket_list = (ot_vector*)(peer_list->peers.data); - - while( peer_list->peers.size-- ) - free( bucket_list++->data ); - } - free( peer_list->peers.data ); + if( OT_PEERLIST_HASBUCKETS( peer_list ) ) + vector_clean_list( (ot_vector*)peer_list->peers.data, peer_list->peers.size ); + else + free( peer_list->peers.data ); } free( peer_list ); } -- cgit v1.2.3