]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Merge remote-tracking branch 'public/bug13397'
authorNick Mathewson <nickm@torproject.org>
Wed, 14 Jan 2015 19:15:29 +0000 (14:15 -0500)
committerNick Mathewson <nickm@torproject.org>
Wed, 14 Jan 2015 19:15:29 +0000 (14:15 -0500)
1  2 
src/or/config.c

diff --cc src/or/config.c
index 5db065f000e524a0343d1100c47716a87a29e194,cf42f30f7a751048636176e982876dbfd454d99b..982cb2e9e5aa02ffb765e1289f45b4a9f280c517
@@@ -4221,17 -4147,19 +4216,20 @@@ load_torrc_from_disk(config_line_t *cmd
    int ignore_missing_torrc = 0;
    char **fname_var = defaults_file ? &torrc_defaults_fname : &torrc_fname;
  
-   fname = find_torrc_filename(cmd_arg, defaults_file,
-                               &using_default_torrc, &ignore_missing_torrc);
-   tor_assert(fname);
+   if (*fname_var == NULL) {
+     fname = find_torrc_filename(cmd_arg, defaults_file,
+                                 &using_default_torrc, &ignore_missing_torrc);
+     tor_assert(fname);
+     tor_free(*fname_var);
+     *fname_var = fname;
+   } else {
+     fname = *fname_var;
+   }
    log_debug(LD_CONFIG, "Opening config file \"%s\"", fname);
  
-   tor_free(*fname_var);
-   *fname_var = fname;
    /* Open config file */
 -  if (file_status(fname) != FN_FILE ||
 +  file_status_t st = file_status(fname);
 +  if (!(st == FN_FILE || st == FN_EMPTY) ||
        !(cf = read_file_to_str(fname,0,NULL))) {
      if (using_default_torrc == 1 || ignore_missing_torrc) {
        if (!defaults_file)