Browse Source

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.
Daniel Pinto 7 years ago
parent
commit
8c0fdf6a27
4 changed files with 13 additions and 4 deletions
  1. 9 2
      src/or/dirvote.c
  2. 2 0
      src/or/dirvote.h
  3. 1 1
      src/or/shared_random.c
  4. 1 1
      src/or/shared_random_state.c

+ 9 - 2
src/or/dirvote.c

@@ -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)

+ 2 - 0
src/or/dirvote.h

@@ -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,

+ 1 - 1
src/or/shared_random.c

@@ -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);
   }
 }
 

+ 1 - 1
src/or/shared_random_state.c

@@ -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;
 }