commit 143235873ba0229f83ce69c4247ba8d3c459629f Author: Nick Mathewson nickm@torproject.org Date: Tue Jan 10 14:13:45 2017 -0500
Memory leak on bogus ed key in microdesc --- src/or/routerparse.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/src/or/routerparse.c b/src/or/routerparse.c index 8cdeb45..58b9a22 100644 --- a/src/or/routerparse.c +++ b/src/or/routerparse.c @@ -4717,11 +4717,13 @@ microdescs_parse_from_string(const char *s, const char *eos, if (!strcmp(t->args[0], "ed25519")) { if (md->ed25519_identity_pkey) { log_warn(LD_DIR, "Extra ed25519 key in microdesc"); + smartlist_free(id_lines); goto next; } ed25519_public_key_t k; if (ed25519_public_from_base64(&k, t->args[1])<0) { log_warn(LD_DIR, "Bogus ed25519 key in microdesc"); + smartlist_free(id_lines); goto next; } md->ed25519_identity_pkey = tor_memdup(&k, sizeof(k));