Browse Source

Merge remote-tracking branch 'public/bug8719' into maint-0.2.4

Nick Mathewson 11 years ago
parent
commit
06efbbb47e
2 changed files with 9 additions and 2 deletions
  1. 6 0
      changes/bug8719
  2. 3 2
      src/or/networkstatus.c

+ 6 - 0
changes/bug8719

@@ -0,0 +1,6 @@
+  o Major bugfixes (memory leak):
+    - Avoid a memory leak where we would leak a consensus body when we find
+      that a consensus which we couldn't previously verify due to missing
+      certificates is now verifiable. Fixes bug 8719; bugfix on
+      0.2.0.10-alpha.
+

+ 3 - 2
src/or/networkstatus.c

@@ -1878,11 +1878,12 @@ networkstatus_note_certs_arrived(void)
     if (!waiting->consensus)
       continue;
     if (networkstatus_check_consensus_signature(waiting->consensus, 0)>=0) {
+      char *waiting_body = waiting->body;
       if (!networkstatus_set_current_consensus(
-                                 waiting->body,
+                                 waiting_body,
                                  networkstatus_get_flavor_name(i),
                                  NSSET_WAS_WAITING_FOR_CERTS)) {
-        tor_free(waiting->body);
+        tor_free(waiting_body);
       }
     }
   }