]> git.ipfire.org Git - thirdparty/opentracker.git/commitdiff
release memory for empty peer pools
authorerdgeist <>
Thu, 1 Feb 2007 17:01:03 +0000 (17:01 +0000)
committererdgeist <>
Thu, 1 Feb 2007 17:01:03 +0000 (17:01 +0000)
trackerlogic.c

index 5ff448f990f43b4abf63a05f2e0cc8d62a3fcb56..26d50f48ec38d467e2b98e3ef1a610b3e8cab518 100644 (file)
@@ -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;
 }