summaryrefslogtreecommitdiff
path: root/trackerlogic.c
diff options
context:
space:
mode:
authorDirk Engling <erdgeist@erdgeist.org>2024-04-07 00:06:27 +0200
committerDirk Engling <erdgeist@erdgeist.org>2024-04-07 00:06:27 +0200
commitb7b84bdec4c94c459ea67b44b829c495d6144312 (patch)
treeba5c8f503e8a5d1705f08aaadacf2cd7975f4cc0 /trackerlogic.c
parentdb28465e0c8b30cb7d5e4e9636d4b7a10793656c (diff)
Number of reported removed peers was too high, correct it by size of peer
Diffstat (limited to 'trackerlogic.c')
-rw-r--r--trackerlogic.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/trackerlogic.c b/trackerlogic.c
index 5e32f13..11113d2 100644
--- a/trackerlogic.c
+++ b/trackerlogic.c
@@ -21,6 +21,7 @@
21 21
22/* Opentracker */ 22/* Opentracker */
23#include "trackerlogic.h" 23#include "trackerlogic.h"
24#include "ot_vector.h"
24#include "ot_mutex.h" 25#include "ot_mutex.h"
25#include "ot_stats.h" 26#include "ot_stats.h"
26#include "ot_clean.h" 27#include "ot_clean.h"
@@ -34,13 +35,10 @@ size_t return_peers_for_torrent( struct ot_workstruct * ws, ot_torrent *torrent,
34 35
35void free_peerlist( ot_peerlist *peer_list ) { 36void free_peerlist( ot_peerlist *peer_list ) {
36 if( peer_list->peers.data ) { 37 if( peer_list->peers.data ) {
37 if( OT_PEERLIST_HASBUCKETS( peer_list ) ) { 38 if( OT_PEERLIST_HASBUCKETS( peer_list ) )
38 ot_vector *bucket_list = (ot_vector*)(peer_list->peers.data); 39 vector_clean_list( (ot_vector*)peer_list->peers.data, peer_list->peers.size );
39 40 else
40 while( peer_list->peers.size-- ) 41 free( peer_list->peers.data );
41 free( bucket_list++->data );
42 }
43 free( peer_list->peers.data );
44 } 42 }
45 free( peer_list ); 43 free( peer_list );
46} 44}