aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2011-06-08 21:38:42 +0200
committerSebastian Hahn <sebastian@torproject.org>2011-06-08 21:38:42 +0200
commit82837673655151609462d529986a310e04f1ba50 (patch)
tree00c7eac3b8e5081aff5ba291791f4cdbdc1a197b
parent3033f8459b332c934b3098ee15c3aa04e3545484 (diff)
downloadtor-82837673655151609462d529986a310e04f1ba50.tar
tor-82837673655151609462d529986a310e04f1ba50.tar.gz
Fix a memleak in nodelist_assert_ok()
-rw-r--r--changes/coverity_master2
-rw-r--r--src/or/nodelist.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/changes/coverity_master b/changes/coverity_master
index ab174bcec..784dec3dc 100644
--- a/changes/coverity_master
+++ b/changes/coverity_master
@@ -1,6 +1,8 @@
o Minor bugfixes:
- Prevent using negative indices during unit test runs when read_all()
fails. Spotted by coverity. Bugfix on 0.2.3.1.
+ - Fix a rare memory leak when checking the nodelist without it being
+ present. Found by coverity. Bugfix on 0.2.3.1.
o Code simplifications and refactoring:
- Remove a dead variable in the heartbeat log code. Spotted by coverity.
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
index 0856b3117..8cded8f17 100644
--- a/src/or/nodelist.c
+++ b/src/or/nodelist.c
@@ -342,11 +342,13 @@ nodelist_assert_ok(void)
{
routerlist_t *rl = router_get_routerlist();
networkstatus_t *ns = networkstatus_get_latest_consensus();
- digestmap_t *dm = digestmap_new();
+ digestmap_t *dm;
if (!the_nodelist)
return;
+ dm = digestmap_new();
+
/* every routerinfo in rl->routers should be in the nodelist. */
if (rl) {
SMARTLIST_FOREACH_BEGIN(rl->routers, routerinfo_t *, ri) {