From: Roger Dingledine Date: Sat, 1 Dec 2007 04:40:12 +0000 (+0000) Subject: fix two trivial potential onionkey leaks. neither of these X-Git-Tag: tor-0.2.0.13-alpha~120 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6d49465b691046efb0ffa2c7e89898cdd35ee192;p=thirdparty%2Ftor.git fix two trivial potential onionkey leaks. neither of these should happen in practice. but now they really won't. svn:r12620 --- diff --git a/src/or/router.c b/src/or/router.c index c1e8b0c92c..2cf762f650 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -189,6 +189,8 @@ rotate_onion_key(void) goto done; error: log_warn(LD_GENERAL, "Couldn't rotate onion key."); + if (prkey) + crypto_free_pk_env(prkey); done: tor_free(fname); tor_free(fname_prev); @@ -469,7 +471,7 @@ init_keys(void) } keydir = get_datadir_fname2("keys", "secret_onion_key.old"); - if (file_status(keydir) == FN_FILE) { + if (!lastonionkey && file_status(keydir) == FN_FILE) { prkey = init_key_from_file(keydir, 1, LOG_ERR); if (prkey) lastonionkey = prkey;