[tor-commits] [tor/master] Whoops -- options_trial_assign() was calling get_options() in #22281

nickm at torproject.org nickm at torproject.org
Tue Sep 12 13:24:59 UTC 2017


commit 5bb4e0c88d3fc94459eec73e15b1ce8205768fbd
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Sep 12 08:40:13 2017 -0400

    Whoops -- options_trial_assign() was calling get_options() in #22281
    
    So, move the get_options() call.
---
 src/or/config.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/or/config.c b/src/or/config.c
index aebca907f..9d6cc9a26 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -2313,17 +2313,18 @@ options_trial_assign(config_line_t *list, unsigned flags, char **msg)
   }
 
   setopt_err_t rv;
+  or_options_t *cur_options = get_options_mutable();
 
   in_option_validation = 1;
 
-  if (options_validate(get_options_mutable(), trial_options,
+  if (options_validate(cur_options, trial_options,
                        global_default_options, 1, msg) < 0) {
     or_options_free(trial_options);
     rv = SETOPT_ERR_PARSE; /*XXX make this a separate return value. */
     goto done;
   }
 
-  if (options_transition_allowed(get_options(), trial_options, msg) < 0) {
+  if (options_transition_allowed(cur_options, trial_options, msg) < 0) {
     or_options_free(trial_options);
     rv = SETOPT_ERR_TRANSITION;
     goto done;





More information about the tor-commits mailing list