From 749da8e0e97262a71fd62fd1ae28029cbacf46e9 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 11 Sep 2007 20:17:24 +0000 Subject: [PATCH] r15047@catbus: nickm | 2007-09-11 13:40:54 -0400 Fix a memory leak when reloading v3 authority certificate and keys. svn:r11428 --- src/or/router.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/or/router.c b/src/or/router.c index 3420674fe3..a21d5cb51b 100644 --- a/src/or/router.c +++ b/src/or/router.c @@ -299,8 +299,12 @@ init_v3_authority_keys(const char *keydir) parsed->cache_info.signed_descriptor_len = eos-cert; cert = NULL; - /* Free old values! XXXX020 */ - + /* Free old values... */ + if (authority_key_certificate) + authority_cert_free(authority_key_certificate); + if (authority_signing_key) + crypto_free_pk_env(authority_signing_key); + /* ...and replace them. */ authority_key_certificate = parsed; authority_signing_key = signing_key; parsed = NULL;