[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [tor/master] prop250: Fix voting_schedule_t memleak in sr_state_update().
commit 34bd333529a73d015561388159d7648b17fcdfa7
Author: George Kadianakis <desnacked@xxxxxxxxxx>
Date: Mon Jul 4 12:36:53 2016 +0300
prop250: Fix voting_schedule_t memleak in sr_state_update().
---
src/or/shared_random.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/or/shared_random.c b/src/or/shared_random.c
index e9e6cbc..fe98643 100644
--- a/src/or/shared_random.c
+++ b/src/or/shared_random.c
@@ -1291,7 +1291,6 @@ sr_get_string_for_consensus(const smartlist_t *votes,
void
sr_act_post_consensus(const networkstatus_t *consensus)
{
- time_t interval_starts;
const or_options_t *options = get_options();
/* Don't act if our state hasn't been initialized. We can be called during
@@ -1321,10 +1320,14 @@ sr_act_post_consensus(const networkstatus_t *consensus)
sr_state_set_current_srv(srv_dup(consensus->sr_info.current_srv));
}
- /* Update our internal state with the next voting interval starting time. */
- interval_starts = get_voting_schedule(options, time(NULL),
- LOG_NOTICE)->interval_starts;
- sr_state_update(interval_starts);
+ /* Prepare our state so that it's ready for the next voting period. */
+ {
+ voting_schedule_t *voting_schedule =
+ get_voting_schedule(options,time(NULL), LOG_NOTICE);
+ time_t interval_starts = voting_schedule->interval_starts;
+ sr_state_update(interval_starts);
+ tor_free(voting_schedule);
+ }
}
/* Initialize shared random subsystem. This MUST be called early in the boot
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits