瀏覽代碼

fix a seg fault on hup when FascistFirewall is defined

svn:r2294
Roger Dingledine 21 年之前
父節點
當前提交
cf6159abb9
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      src/or/config.c

+ 3 - 2
src/or/config.c

@@ -548,6 +548,7 @@ static void free_options(or_options_t *options) {
   if (options->FirewallPorts) {
     SMARTLIST_FOREACH(options->FirewallPorts, char *, cp, tor_free(cp));
     smartlist_free(options->FirewallPorts);
+    options->FirewallPorts = NULL;
   }
 }
 
@@ -800,8 +801,8 @@ int getconfig(int argc, char **argv, or_options_t *options) {
 
   if(options->FascistFirewall && !options->FirewallPorts) {
     options->FirewallPorts = smartlist_create();
-    smartlist_add(options->FirewallPorts, "80");
-    smartlist_add(options->FirewallPorts, "443");
+    smartlist_add(options->FirewallPorts, tor_strdup("80"));
+    smartlist_add(options->FirewallPorts, tor_strdup("443"));
   }
   if(options->FirewallPorts) {
     SMARTLIST_FOREACH(options->FirewallPorts, const char *, cp,