Parcourir la source

fix a memory leak in authority_certs_fetch_missing() every time
we try to call it but don't have enough dir info.


svn:r12743

Roger Dingledine il y a 16 ans
Parent
commit
be337eb0ad
1 fichiers modifiés avec 5 ajouts et 2 suppressions
  1. 5 2
      src/or/routerlist.c

+ 5 - 2
src/or/routerlist.c

@@ -311,13 +311,16 @@ authority_cert_get_by_digests(const char *id_digest,
 void
 authority_certs_fetch_missing(networkstatus_vote_t *status, time_t now)
 {
-  digestmap_t *pending = digestmap_new();
-  smartlist_t *missing_digests = smartlist_create();
+  digestmap_t *pending;
+  smartlist_t *missing_digests;
   char *resource = NULL;
 
   if (should_delay_dir_fetches(get_options()))
     return;
 
+  pending = digestmap_new();
+  missing_digests = smartlist_create();
+
   list_pending_downloads(pending, DIR_PURPOSE_FETCH_CERTIFICATE, "fp/");
   if (status) {
     SMARTLIST_FOREACH(status->voters, networkstatus_voter_info_t *, voter,