tor

The Tor anonymity network
git clone https://git.dasho.dev/tor.git
Log | Files | Refs | README | LICENSE

commit 8a4635a5fe951dd9fa917eb670c8d3138b3d0b90
parent 7502881deb0ba702d2a6a2ea3d4d24cd998e8616
Author: teor <teor@torproject.org>
Date:   Fri,  9 Aug 2019 14:05:46 +1000

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

Diffstat:
Achanges/bug30781 | 4++++
Msrc/feature/dirparse/routerparse.c | 3+++
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; }