Browse Source

Fix a memory leak in the exit policy parsing code

This memory leak only occurs when the Tor instance is not an exit node.

Fixes code introduced in 10a6390deb3c9ff9fbd8078fc812abf6c77ad67f.
cypherpunks 8 years ago
parent
commit
16bec0dfd9
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/or/policies.c

+ 3 - 1
src/or/policies.c

@@ -1350,7 +1350,7 @@ policies_parse_exit_policy_from_options(const or_options_t *or_options,
                                         smartlist_t **result)
 {
   exit_policy_parser_cfg_t parser_cfg = 0;
-  smartlist_t *configured_addresses = smartlist_new();
+  smartlist_t *configured_addresses;
   int rv = 0;
 
   /* Short-circuit for non-exit relays */
@@ -1360,6 +1360,8 @@ policies_parse_exit_policy_from_options(const or_options_t *or_options,
     return 0;
   }
 
+  configured_addresses = smartlist_new();
+
   /* Configure the parser */
   if (or_options->IPv6Exit) {
     parser_cfg |= EXIT_POLICY_IPV6_ENABLED;