summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-08-17 11:53:06 -0400
committerNick Mathewson <nickm@torproject.org>2012-08-17 11:53:06 -0400
commitf25e8d034b78be01c9fbe659d4686fc370083572 (patch)
tree4b3248753f91c146f0d5e13b9b53ead13046b694
parent91b52a259a271df7ceeea6d8bf7adbd4d7e15a6c (diff)
parent2d6d5db2fe4f8a4538c5bed903f7e1576e9eea40 (diff)
downloadtor-f25e8d034b78be01c9fbe659d4686fc370083572.tar.gz
tor-f25e8d034b78be01c9fbe659d4686fc370083572.zip
Merge remote-tracking branch 'public/bug6514' into maint-0.2.3
-rw-r--r--changes/bug65145
-rw-r--r--src/or/dirvote.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/changes/bug6514 b/changes/bug6514
new file mode 100644
index 0000000000..84633bd279
--- /dev/null
+++ b/changes/bug6514
@@ -0,0 +1,5 @@
+ o Minor bugfixes:
+ - Add a (probably redundant) memory clear between iterations of
+ the router status voting loop, to prevent future coding errors
+ where data might leak between iterations of the loop. Resolves
+ ticket 6514.
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index 79958739a5..bc7797355c 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -1752,6 +1752,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
rs = compute_routerstatus_consensus(matching_descs, consensus_method,
microdesc_digest);
/* Copy bits of that into rs_out. */
+ memset(&rs_out, 0, sizeof(rs_out));
tor_assert(fast_memeq(lowest_id, rs->status.identity_digest,DIGEST_LEN));
memcpy(rs_out.identity_digest, lowest_id, DIGEST_LEN);
memcpy(rs_out.descriptor_digest, rs->status.descriptor_digest,