Browse Source

Fix a memleak in nodelist_assert_ok()

Sebastian Hahn 13 years ago
parent
commit
8283767365
2 changed files with 5 additions and 1 deletions
  1. 2 0
      changes/coverity_master
  2. 3 1
      src/or/nodelist.c

+ 2 - 0
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.
 

+ 3 - 1
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) {