Browse Source

Merge remote-tracking branch 'tor-github/pr/1081' into maint-0.4.0

teor 5 years ago
parent
commit
8a4635a5fe
2 changed files with 7 additions and 0 deletions
  1. 4 0
      changes/bug30781
  2. 3 0
      src/feature/dirparse/routerparse.c

+ 4 - 0
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.

+ 3 - 0
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;
   }