r13048@catbus: nickm | 2007-05-29 11:08:53 -0400

Oops; better version of previous patch that does not get caught in an infinite loop.


svn:r10391
This commit is contained in:
Nick Mathewson 2007-05-29 15:08:55 +00:00
parent fd3aa5c85d
commit 69c712f189

View file

@ -900,23 +900,26 @@ router_parse_list_from_string(const char **s, const char *eos,
if (!end)
break;
elt = NULL;
if (have_extrainfo && want_extrainfo) {
routerlist_t *rl = router_get_routerlist();
extrainfo = extrainfo_parse_entry_from_string(*s, end,
saved_location != SAVED_IN_CACHE,
rl->identity_map);
if (!extrainfo)
continue;
signed_desc = &extrainfo->cache_info;
elt = extrainfo;
if (extrainfo) {
signed_desc = &extrainfo->cache_info;
elt = extrainfo;
}
} else if (!have_extrainfo && !want_extrainfo) {
router = router_parse_entry_from_string(*s, end,
saved_location != SAVED_IN_CACHE);
if (!router)
continue;
signed_desc = &router->cache_info;
elt = router;
} else {
if (router) {
signed_desc = &router->cache_info;
elt = router;
}
}
if (!elt) {
*s = end;
continue;
}