Bläddra i källkod

Fix memory leak in routerlist_remove_old_routers().

svn:r5790
Nick Mathewson 20 år sedan
förälder
incheckning
eb78295e4e
1 ändrade filer med 3 tillägg och 1 borttagningar
  1. 3 1
      src/or/routerlist.c

+ 3 - 1
src/or/routerlist.c

@@ -1802,7 +1802,7 @@ routerlist_remove_old_routers(void)
    */
   if (smartlist_len(routerlist->old_routers) <
       smartlist_len(routerlist->routers) * (MAX_DESCRIPTORS_PER_ROUTER - 1))
-    return;
+    goto done;
 
   smartlist_sort(routerlist->old_routers, _compare_old_routers_by_identity);
 
@@ -1823,6 +1823,8 @@ routerlist_remove_old_routers(void)
   if (hi>=0)
     routerlist_remove_old_cached_routers_with_id(cutoff, 0, hi, retain);
   routerlist_assert_ok(routerlist);
+
+ done:
   digestmap_free(retain, NULL);
 }