Selaa lähdekoodia

fix a seg fault from tor_free_all

svn:r3690
Roger Dingledine 20 vuotta sitten
vanhempi
commit
6329811a88
1 muutettua tiedostoa jossa 3 lisäystä ja 1 poistoa
  1. 3 1
      src/or/routerlist.c

+ 3 - 1
src/or/routerlist.c

@@ -709,6 +709,7 @@ routerinfo_t *routerinfo_copy(const routerinfo_t *router)
 /** Free all storage held by a routerlist <b>rl</b> */
 void routerlist_free(routerlist_t *rl)
 {
+  tor_assert(rl);
   SMARTLIST_FOREACH(rl->routers, routerinfo_t *, r,
                     routerinfo_free(r));
   smartlist_free(rl->routers);
@@ -718,7 +719,8 @@ void routerlist_free(routerlist_t *rl)
 
 void routerlist_free_current(void)
 {
-  routerlist_free(routerlist);
+  if (routerlist)
+    routerlist_free(routerlist);
   routerlist = NULL;
 }