Browse Source

Avoid segfault when freeing options_t without firewall_ports

svn:r2279
Nick Mathewson 21 years ago
parent
commit
555f8f30f4
1 changed files with 4 additions and 2 deletions
  1. 4 2
      src/or/config.c

+ 4 - 2
src/or/config.c

@@ -545,8 +545,10 @@ static void free_options(or_options_t *options) {
   config_free_lines(options->DirBindAddress);
   config_free_lines(options->ExitPolicy);
   config_free_lines(options->SocksPolicy);
-  SMARTLIST_FOREACH(options->FirewallPorts, char *, cp, tor_free(cp));
-  smartlist_free(options->FirewallPorts);
+  if (options->FirewallPorts) {
+    SMARTLIST_FOREACH(options->FirewallPorts, char *, cp, tor_free(cp));
+    smartlist_free(options->FirewallPorts);
+  }
 }
 
 /** Set <b>options</b> to hold reasonable defaults for most options. */