summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Hahn <sebastian@torproject.org>2010-08-15 21:02:01 +0200
committerSebastian Hahn <sebastian@torproject.org>2010-08-16 00:46:44 +0200
commitb2dcff5766cdf33799659e667a06e109d17b6eb9 (patch)
tree89b41ec263df8ab2422225ea9edd3563fbf5f828
parent527581194c285e5b08d4bb4fd9c573a0f12dd83b (diff)
downloadtor-b2dcff5766cdf33799659e667a06e109d17b6eb9.tar.gz
tor-b2dcff5766cdf33799659e667a06e109d17b6eb9.zip
Fix a memory leak in dirvote_compute_consensuses()
-rw-r--r--changes/bug18313
-rw-r--r--src/or/dirvote.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/changes/bug1831 b/changes/bug1831
index 6c504dadbc..72f7d21856 100644
--- a/changes/bug1831
+++ b/changes/bug1831
@@ -3,3 +3,6 @@
Bugfix on 0.2.2.14-alpha; fixes bug 1831 partially.
- Fix a memory leak in dirvote_add_signatures_to_pending_consensus().
Bugfix on 0.2.2.6-alpha; fixes bug 1831 partially.
+ - Fix a memory leak in dirvote_compute_consensuses().
+ Bugfix on 0.2.0.3-alpha; fixes bug 1831 partially.
+
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index 0042934c4a..925f57f6e8 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -2942,6 +2942,7 @@ dirvote_compute_consensuses(void)
strlen(pending_consensus_signatures), 0);
log_notice(LD_DIR, "Signature(s) posted.");
+ smartlist_free(votes);
return 0;
err:
smartlist_free(votes);
@@ -3138,7 +3139,7 @@ void
dirvote_free_all(void)
{
dirvote_clear_votes(1);
- /* now empty as a result of clear_pending_votes. */
+ /* now empty as a result of dirvote_clear_votes(). */
smartlist_free(pending_vote_list);
pending_vote_list = NULL;
smartlist_free(previous_vote_list);
@@ -3147,7 +3148,7 @@ dirvote_free_all(void)
dirvote_clear_pending_consensuses();
tor_free(pending_consensus_signatures);
if (pending_consensus_signature_list) {
- /* now empty as a result of clear_pending_votes. */
+ /* now empty as a result of dirvote_clear_votes(). */
smartlist_free(pending_consensus_signature_list);
pending_consensus_signature_list = NULL;
}