From 6d49465b691046efb0ffa2c7e89898cdd35ee192 Mon Sep 17 00:00:00 2001 From: Roger Dingledine Date: Sat, 1 Dec 2007 04:40:12 +0000 Subject: [PATCH] fix two trivial potential onionkey leaks. neither of these should happen in practice. but now they really won't. svn:r12620 --- src/or/router.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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;