Browse Source

r15047@catbus: nickm | 2007-09-11 13:40:54 -0400
Fix a memory leak when reloading v3 authority certificate and keys.


svn:r11428

Nick Mathewson 16 years ago
parent
commit
749da8e0e9
1 changed files with 6 additions and 2 deletions
  1. 6 2
      src/or/router.c

+ 6 - 2
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;