mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-24 20:33:31 +01:00
Added a voting_schedule_free function to free voting schedules.
Existing Uses of the tor_free function on voting schedules were replaced with voting_schedule_free. Fixes #19562.
This commit is contained in:
parent
5e571900b3
commit
8c0fdf6a27
@ -2577,7 +2577,7 @@ get_next_valid_after_time(time_t now)
|
|||||||
tor_assert(new_voting_schedule);
|
tor_assert(new_voting_schedule);
|
||||||
|
|
||||||
next_valid_after_time = new_voting_schedule->interval_starts;
|
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;
|
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 */
|
/* Fill in the global static struct now */
|
||||||
memcpy(&voting_schedule, new_voting_schedule, sizeof(voting_schedule));
|
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
|
/* 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;
|
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>. */
|
/** Entry point: Take whatever voting actions are pending as of <b>now</b>. */
|
||||||
void
|
void
|
||||||
dirvote_act(const or_options_t *options, time_t now)
|
dirvote_act(const or_options_t *options, time_t now)
|
||||||
|
@ -157,6 +157,8 @@ typedef struct {
|
|||||||
voting_schedule_t *get_voting_schedule(const or_options_t *options,
|
voting_schedule_t *get_voting_schedule(const or_options_t *options,
|
||||||
time_t now, int severity);
|
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);
|
void dirvote_get_preferred_voting_intervals(vote_timing_t *timing_out);
|
||||||
time_t dirvote_get_start_of_next_interval(time_t now,
|
time_t dirvote_get_start_of_next_interval(time_t now,
|
||||||
int interval,
|
int interval,
|
||||||
|
@ -1328,7 +1328,7 @@ sr_act_post_consensus(const networkstatus_t *consensus)
|
|||||||
get_voting_schedule(options,time(NULL), LOG_NOTICE);
|
get_voting_schedule(options,time(NULL), LOG_NOTICE);
|
||||||
time_t interval_starts = voting_schedule->interval_starts;
|
time_t interval_starts = voting_schedule->interval_starts;
|
||||||
sr_state_update(interval_starts);
|
sr_state_update(interval_starts);
|
||||||
tor_free(voting_schedule);
|
free_voting_schedule(voting_schedule);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +150,7 @@ get_start_time_of_current_round(time_t now)
|
|||||||
voting_interval,
|
voting_interval,
|
||||||
options->TestingV3AuthVotingStartOffset);
|
options->TestingV3AuthVotingStartOffset);
|
||||||
|
|
||||||
tor_free(new_voting_schedule);
|
free_voting_schedule(new_voting_schedule);
|
||||||
|
|
||||||
return curr_start;
|
return curr_start;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user