|  | @@ -265,12 +265,8 @@ router_rebuild_store(int force)
 | 
	
		
			
				|  |  |    smartlist_add_all(routers, routerlist->routers);
 | 
	
		
			
				|  |  |    smartlist_sort(routers, _compare_routers_by_age);
 | 
	
		
			
				|  |  |    for (i = 0; i < 2; ++i) {
 | 
	
		
			
				|  |  | -    smartlist_t *lst = smartlist_create();
 | 
	
		
			
				|  |  |      /* We sort the routers by age to enhance locality on disk. */
 | 
	
		
			
				|  |  | -    if (i==0)
 | 
	
		
			
				|  |  | -      lst = old_routers;
 | 
	
		
			
				|  |  | -    else
 | 
	
		
			
				|  |  | -      lst = routers;
 | 
	
		
			
				|  |  | +    smartlist_t *lst = (i == 0) ? old_routers : routers;
 | 
	
		
			
				|  |  |      /* Now, add the appropriate members to chunk_list */
 | 
	
		
			
				|  |  |      SMARTLIST_FOREACH(lst, void *, ptr,
 | 
	
		
			
				|  |  |      {
 | 
	
	
		
			
				|  | @@ -280,7 +276,6 @@ router_rebuild_store(int force)
 | 
	
		
			
				|  |  |        const char *body = signed_descriptor_get_body(sd);
 | 
	
		
			
				|  |  |        if (!body) {
 | 
	
		
			
				|  |  |          log_warn(LD_BUG, "Bug! No descriptor available for router.");
 | 
	
		
			
				|  |  | -        smartlist_free(lst);
 | 
	
		
			
				|  |  |          goto done;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |        c = tor_malloc(sizeof(sized_chunk_t));
 | 
	
	
		
			
				|  | @@ -318,8 +313,6 @@ router_rebuild_store(int force)
 | 
	
		
			
				|  |  |        signed_descriptor_get_body(sd);
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | -  smartlist_free(old_routers);
 | 
	
		
			
				|  |  | -  smartlist_free(routers);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    tor_snprintf(fname, fname_len, "%s/cached-routers.new",
 | 
	
		
			
				|  |  |                 options->DataDirectory);
 | 
	
	
		
			
				|  | @@ -331,11 +324,11 @@ router_rebuild_store(int force)
 | 
	
		
			
				|  |  |    router_journal_len = 0;
 | 
	
		
			
				|  |  |    router_bytes_dropped = 0;
 | 
	
		
			
				|  |  |   done:
 | 
	
		
			
				|  |  | +  smartlist_free(old_routers);
 | 
	
		
			
				|  |  | +  smartlist_free(routers);
 | 
	
		
			
				|  |  |    tor_free(fname);
 | 
	
		
			
				|  |  | -  if (chunk_list) {
 | 
	
		
			
				|  |  | -    SMARTLIST_FOREACH(chunk_list, sized_chunk_t *, c, tor_free(c));
 | 
	
		
			
				|  |  | -    smartlist_free(chunk_list);
 | 
	
		
			
				|  |  | -  }
 | 
	
		
			
				|  |  | +  SMARTLIST_FOREACH(chunk_list, sized_chunk_t *, c, tor_free(c));
 | 
	
		
			
				|  |  | +  smartlist_free(chunk_list);
 | 
	
		
			
				|  |  |    return r;
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 |