diff options
-rw-r--r-- | src/common/tortls.c | 2 | ||||
-rw-r--r-- | src/or/router.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c index 86f07a270a..4bb2291b1f 100644 --- a/src/common/tortls.c +++ b/src/common/tortls.c @@ -201,6 +201,8 @@ tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing) if (!state) state = (st>=0)?ssl_state_to_string(st):"---"; if (!msg) msg = "(null)"; + if (!lib) lib = "(null)"; + if (!func) func = "(null)"; if (doing) { log(severity, domain, "TLS error while %s%s%s: %s (in %s:%s:%s)", doing, addr?" with ":"", addr?addr:"", diff --git a/src/or/router.c b/src/or/router.c index e14f237728..827df0302c 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -1382,6 +1382,7 @@ router_rebuild_descriptor(int force) if (extrainfo_dump_to_string(ei->cache_info.signed_descriptor_body, ei_size, ei, get_identity_key()) < 0) { log_warn(LD_BUG, "Couldn't generate extra-info descriptor."); + routerinfo_free(ri); extrainfo_free(ei); return -1; } @@ -1398,6 +1399,8 @@ router_rebuild_descriptor(int force) if (router_dump_router_to_string(ri->cache_info.signed_descriptor_body, 8192, ri, get_identity_key())<0) { log_warn(LD_BUG, "Couldn't generate router descriptor."); + routerinfo_free(ri); + extrainfo_free(ei); return -1; } ri->cache_info.signed_descriptor_len = @@ -1984,6 +1987,7 @@ extrainfo_dump_to_string(char *s, size_t maxlen, extrainfo_t *extrainfo, log_err(LD_BUG, "We just generated an extrainfo descriptor we can't parse."); log_err(LD_BUG, "Descriptor was: <<%s>>", s); + tor_free(s_dup); return -1; } tor_free(s_dup); |