diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-03-26 21:16:56 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-03-26 21:16:56 +0000 |
commit | fa15ed4b7b0a2ebdc3eb64290ec52e1e338eda38 (patch) | |
tree | 06219dca2cc0eec4e8ff18b17d029a4dd003a094 | |
parent | 944bd3dbed3de47aaa6fc98a121d66643e611af7 (diff) | |
download | tor-fa15ed4b7b0a2ebdc3eb64290ec52e1e338eda38.tar tor-fa15ed4b7b0a2ebdc3eb64290ec52e1e338eda38.tar.gz |
r19079@catbus: nickm | 2008-03-26 17:16:46 -0400
Free authority certs on exit. Backport candidate.
svn:r14205
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | src/or/routerlist.c | 10 |
2 files changed, 12 insertions, 0 deletions
@@ -15,6 +15,8 @@ Changes in version 0.2.1.1-alpha - 2008-??-?? running with dmalloc would crash. Bugfix on 0.2.0.x-alpha. - Keep address policies from leaking: start their refcount at 1, not 2. Bugfix on 0.2.0.16-alpha. + - Free authority certificates on exit, so they don't look like memory + leaks. Bugfix on 0.2.0.19-alpha. o Minor features: - Allow separate log levels to be configured for different logging diff --git a/src/or/routerlist.c b/src/or/routerlist.c index 2210173f8..b6889e9ea 100644 --- a/src/or/routerlist.c +++ b/src/or/routerlist.c @@ -2628,6 +2628,16 @@ routerlist_free_all(void) smartlist_free(trusted_dir_servers); trusted_dir_servers = NULL; } + if (trusted_dir_certs) { + DIGESTMAP_FOREACH(trusted_dir_certs, key, cert_list_t *, cl) { + SMARTLIST_FOREACH(cl->certs, authority_cert_t *, cert, + authority_cert_free(cert)); + smartlist_free(cl->certs); + tor_free(cl); + } DIGESTMAP_FOREACH_END; + digestmap_free(trusted_dir_certs, NULL); + trusted_dir_certs = NULL; + } } /** Forget that we have issued any router-related warnings, so that we'll |