commit 654769bcec3e98bea5e3ac48b2aabffcbe55375e
parent 1ba2bd3599e94bb2fa533cde9e1ef296b4124ce4
Author: teor <teor@torproject.org>
Date: Fri, 9 Aug 2019 14:05:26 +1000
Merge remote-tracking branch 'tor-github/pr/1080' into maint-0.3.5
Diffstat:
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/changes/bug30781 b/changes/bug30781
@@ -0,0 +1,4 @@
+ 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.
diff --git a/src/feature/dirparse/routerparse.c b/src/feature/dirparse/routerparse.c
@@ -556,6 +556,9 @@ router_parse_entry_from_string(const char *s, const char *end,
if ((tok = find_opt_by_keyword(tokens, A_PURPOSE))) {
tor_assert(tok->n_args);
router->purpose = router_purpose_from_string(tok->args[0]);
+ if (router->purpose == ROUTER_PURPOSE_UNKNOWN) {
+ goto err;
+ }
} else {
router->purpose = ROUTER_PURPOSE_GENERAL;
}