Loading changes/bug30781 0 → 100644 +4 −0 Original line number Original line Diff line number Diff line o Minor bugfixes (directory authorities): - Stop crashing after parsing an unknown descriptor purpose annotation. We think this bug can only be triggered by modifying a local file. Fixes bug 30781; bugfix on 0.2.0.8-alpha. src/or/routerparse.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1921,6 +1921,9 @@ router_parse_entry_from_string(const char *s, const char *end, if ((tok = find_opt_by_keyword(tokens, A_PURPOSE))) { if ((tok = find_opt_by_keyword(tokens, A_PURPOSE))) { tor_assert(tok->n_args); tor_assert(tok->n_args); router->purpose = router_purpose_from_string(tok->args[0]); router->purpose = router_purpose_from_string(tok->args[0]); if (router->purpose == ROUTER_PURPOSE_UNKNOWN) { goto err; } } else { } else { router->purpose = ROUTER_PURPOSE_GENERAL; router->purpose = ROUTER_PURPOSE_GENERAL; } } Loading Loading
changes/bug30781 0 → 100644 +4 −0 Original line number Original line Diff line number Diff line o Minor bugfixes (directory authorities): - Stop crashing after parsing an unknown descriptor purpose annotation. We think this bug can only be triggered by modifying a local file. Fixes bug 30781; bugfix on 0.2.0.8-alpha.
src/or/routerparse.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1921,6 +1921,9 @@ router_parse_entry_from_string(const char *s, const char *end, if ((tok = find_opt_by_keyword(tokens, A_PURPOSE))) { if ((tok = find_opt_by_keyword(tokens, A_PURPOSE))) { tor_assert(tok->n_args); tor_assert(tok->n_args); router->purpose = router_purpose_from_string(tok->args[0]); router->purpose = router_purpose_from_string(tok->args[0]); if (router->purpose == ROUTER_PURPOSE_UNKNOWN) { goto err; } } else { } else { router->purpose = ROUTER_PURPOSE_GENERAL; router->purpose = ROUTER_PURPOSE_GENERAL; } } Loading