[tor-commits] [tor/master] Use config_new() to construct configuration objects.

dgoulet at torproject.org dgoulet at torproject.org
Wed Sep 4 14:39:08 UTC 2019


commit 57e87cc86cce0b9fb351b1862f99c84bfa8100eb
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Jul 23 10:13:29 2019 -0400

    Use config_new() to construct configuration objects.
    
    We'll need to do it this way once the objects become more complex.
---
 src/app/config/config.c                   |  3 +--
 src/app/config/statefile.c                |  3 +--
 src/feature/dirauth/shared_random_state.c | 10 +++++-----
 src/test/fuzz/fuzzing_common.c            |  2 +-
 src/test/test_config.c                    |  8 ++++----
 5 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/src/app/config/config.c b/src/app/config/config.c
index d8b33aee7..7aa253a6b 100644
--- a/src/app/config/config.c
+++ b/src/app/config/config.c
@@ -5404,8 +5404,7 @@ options_init_from_string(const char *cf_defaults, const char *cf,
   oldoptions = global_options; /* get_options unfortunately asserts if
                                   this is the first time we run*/
 
-  newoptions = tor_malloc_zero(sizeof(or_options_t));
-  newoptions->magic_ = OR_OPTIONS_MAGIC;
+  newoptions = options_new();
   options_init(newoptions);
   newoptions->command = command;
   newoptions->command_arg = command_arg ? tor_strdup(command_arg) : NULL;
diff --git a/src/app/config/statefile.c b/src/app/config/statefile.c
index 93e35659d..54ee398a7 100644
--- a/src/app/config/statefile.c
+++ b/src/app/config/statefile.c
@@ -376,8 +376,7 @@ or_state_save_broken(char *fname)
 STATIC or_state_t *
 or_state_new(void)
 {
-  or_state_t *new_state = tor_malloc_zero(sizeof(or_state_t));
-  new_state->magic_ = OR_STATE_MAGIC;
+  or_state_t *new_state = config_new(get_state_mgr());
   config_init(get_state_mgr(), new_state);
 
   return new_state;
diff --git a/src/feature/dirauth/shared_random_state.c b/src/feature/dirauth/shared_random_state.c
index 12ae79ce3..21bf3c122 100644
--- a/src/feature/dirauth/shared_random_state.c
+++ b/src/feature/dirauth/shared_random_state.c
@@ -285,9 +285,8 @@ disk_state_free_(sr_disk_state_t *state)
 static sr_disk_state_t *
 disk_state_new(time_t now)
 {
-  sr_disk_state_t *new_state = tor_malloc_zero(sizeof(*new_state));
+  sr_disk_state_t *new_state = config_new(get_srs_mgr());
 
-  new_state->magic_ = SR_DISK_STATE_MAGIC;
   new_state->Version = SR_PROTO_VERSION;
   new_state->TorVersion = tor_strdup(get_version());
   new_state->ValidUntil = get_state_valid_until_time(now);
@@ -599,11 +598,12 @@ disk_state_reset(void)
   config_free_lines(sr_disk_state->ExtraLines);
   tor_free(sr_disk_state->TorVersion);
 
-  /* Clean up the struct */
-  memset(sr_disk_state, 0, sizeof(*sr_disk_state));
+  /* Clear other fields. */
+  sr_disk_state->ValidAfter = 0;
+  sr_disk_state->ValidUntil = 0;
+  sr_disk_state->Version = 0;
 
   /* Reset it with useful data */
-  sr_disk_state->magic_ = SR_DISK_STATE_MAGIC;
   sr_disk_state->TorVersion = tor_strdup(get_version());
 }
 
diff --git a/src/test/fuzz/fuzzing_common.c b/src/test/fuzz/fuzzing_common.c
index 6d0f9d7d6..1285d94ae 100644
--- a/src/test/fuzz/fuzzing_common.c
+++ b/src/test/fuzz/fuzzing_common.c
@@ -111,7 +111,7 @@ global_init(void)
   }
 
   /* set up the options. */
-  mock_options = tor_malloc_zero(sizeof(or_options_t));
+  mock_options = options_new();
   MOCK(get_options, mock_get_options);
 
   /* Make BUG() and nonfatal asserts crash */
diff --git a/src/test/test_config.c b/src/test/test_config.c
index a415ca448..cfca3149f 100644
--- a/src/test/test_config.c
+++ b/src/test/test_config.c
@@ -1762,7 +1762,7 @@ test_config_adding_dir_servers(void *arg)
   (void)arg;
 
   /* allocate options */
-  or_options_t *options = tor_malloc_zero(sizeof(or_options_t));
+  or_options_t *options = options_new();
 
   /* Allocate and populate configuration lines:
    *
@@ -3533,7 +3533,7 @@ test_config_default_dir_servers(void *arg)
   int fallback_count = 0;
 
   /* new set of options should stop fallback parsing */
-  opts = tor_malloc_zero(sizeof(or_options_t));
+  opts = options_new();
   opts->UseDefaultFallbackDirs = 0;
   /* set old_options to NULL to force dir update */
   consider_adding_dir_servers(opts, NULL);
@@ -3547,7 +3547,7 @@ test_config_default_dir_servers(void *arg)
   /* if we disable the default fallbacks, there must not be any extra */
   tt_assert(fallback_count == trusted_count);
 
-  opts = tor_malloc_zero(sizeof(or_options_t));
+  opts = options_new();
   opts->UseDefaultFallbackDirs = 1;
   consider_adding_dir_servers(opts, opts);
   trusted_count = smartlist_len(router_get_trusted_dir_servers());
@@ -3607,7 +3607,7 @@ test_config_directory_fetch(void *arg)
   (void)arg;
 
   /* Test Setup */
-  or_options_t *options = tor_malloc_zero(sizeof(or_options_t));
+  or_options_t *options = options_new();
   routerinfo_t routerinfo;
   memset(&routerinfo, 0, sizeof(routerinfo));
   mock_router_pick_published_address_result = -1;





More information about the tor-commits mailing list