mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Defensive programming: clear rs_out between iterations.
I can't currently find a bug here, but there are a couple of near-misses. Addresses ticket 6514; reported pseudonymously on IRC.
This commit is contained in:
@@ -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.
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user