From 555f8f30f46a5f5e9c5567560255ca8b6ef116e4 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 18 Aug 2004 07:06:53 +0000 Subject: [PATCH] Avoid segfault when freeing options_t without firewall_ports svn:r2279 --- src/or/config.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/or/config.c b/src/or/config.c index 6d09b77644..e68d7ba5f9 100644 --- a/src/or/config.c +++ b/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 options to hold reasonable defaults for most options. */