From 4569b9ffdf9507b4444f70fcb8144fa0ba6dc9fe Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Thu, 1 Feb 2007 17:01:03 +0000 Subject: release memory for empty peer pools --- trackerlogic.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'trackerlogic.c') diff --git a/trackerlogic.c b/trackerlogic.c index 5ff448f..26d50f4 100644 --- a/trackerlogic.c +++ b/trackerlogic.c @@ -99,6 +99,12 @@ static int vector_remove_peer( ot_vector *vector, ot_peer *peer ) { vector->space /= OT_VECTOR_SHRINK_RATIO; vector->data = realloc( vector->data, vector->space * sizeof( ot_peer ) ); } + if( !vector->size ) { + /* for peer pools its safe to let them go, + in 999 of 1000 this happens in older pools, that won't ever grow again */ + free( vector->data ); + vector->space = 0; + } return exactmatch; } -- cgit v1.2.3