Merge remote-tracking branch 'jigsaw/fix-19562'

This commit is contained in:
Nick Mathewson 2016-08-19 19:41:53 -04:00
commit 3e8f93bb10
4 changed files with 13 additions and 4 deletions

View File

@ -2577,7 +2577,7 @@ get_next_valid_after_time(time_t now)
tor_assert(new_voting_schedule);
next_valid_after_time = new_voting_schedule->interval_starts;
tor_free(new_voting_schedule);
free_voting_schedule(new_voting_schedule);
return next_valid_after_time;
}
@ -2601,7 +2601,7 @@ dirvote_recalculate_timing(const or_options_t *options, time_t now)
/* Fill in the global static struct now */
memcpy(&voting_schedule, new_voting_schedule, sizeof(voting_schedule));
tor_free(new_voting_schedule);
free_voting_schedule(new_voting_schedule);
}
/* Populate and return a new voting_schedule_t that can be used to schedule
@ -2660,6 +2660,13 @@ get_voting_schedule(const or_options_t *options, time_t now, int severity)
return new_voting_schedule;
}
/** Frees a voting_schedule_t. This should be used instead of the generic tor_free. */
void
free_voting_schedule(voting_schedule_t *voting_schedule_to_free)
{
tor_free(voting_schedule_to_free);
}
/** Entry point: Take whatever voting actions are pending as of <b>now</b>. */
void
dirvote_act(const or_options_t *options, time_t now)

View File

@ -157,6 +157,8 @@ typedef struct {
voting_schedule_t *get_voting_schedule(const or_options_t *options,
time_t now, int severity);
void free_voting_schedule(voting_schedule_t *voting_schedule_to_free);
void dirvote_get_preferred_voting_intervals(vote_timing_t *timing_out);
time_t dirvote_get_start_of_next_interval(time_t now,
int interval,

View File

@ -1328,7 +1328,7 @@ sr_act_post_consensus(const networkstatus_t *consensus)
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);
free_voting_schedule(voting_schedule);
}
}

View File

@ -150,7 +150,7 @@ get_start_time_of_current_round(time_t now)
voting_interval,
options->TestingV3AuthVotingStartOffset);
tor_free(new_voting_schedule);
free_voting_schedule(new_voting_schedule);
return curr_start;
}