|
@@ -621,6 +621,8 @@ directory_remove_invalid(void)
|
|
|
int changed = 0;
|
|
|
routerlist_t *rl = router_get_routerlist();
|
|
|
|
|
|
+ routerlist_assert_ok(rl);
|
|
|
+
|
|
|
for (i = 0; i < smartlist_len(rl->routers); ++i) {
|
|
|
const char *msg;
|
|
|
routerinfo_t *ent = smartlist_get(rl->routers, i);
|
|
@@ -630,6 +632,7 @@ directory_remove_invalid(void)
|
|
|
ent->nickname, msg?msg:"");
|
|
|
routerlist_remove(rl, ent, i--, 0);
|
|
|
changed = 1;
|
|
|
+ continue;
|
|
|
}
|
|
|
if (bool_neq((r & FP_NAMED), ent->is_named)) {
|
|
|
log_info(LD_DIRSERV,
|
|
@@ -653,6 +656,8 @@ directory_remove_invalid(void)
|
|
|
}
|
|
|
if (changed)
|
|
|
directory_set_dirty();
|
|
|
+
|
|
|
+ routerlist_assert_ok(rl);
|
|
|
}
|
|
|
|
|
|
/** Write a list of unregistered descriptors into a newly allocated
|