]> git.ipfire.org Git - thirdparty/tor.git/commitdiff
Fix a memory leak in the exit policy parsing code
authorcypherpunks <cypherpunks@torproject.org>
Fri, 4 Dec 2015 14:47:59 +0000 (15:47 +0100)
committerteor (Tim Wilson-Brown) <teor2345@gmail.com>
Sun, 6 Dec 2015 09:24:07 +0000 (20:24 +1100)
This memory leak only occurs when the Tor instance is not an exit node.

Fixes code introduced in 10a6390deb3c9ff9fbd8078fc812abf6c77ad67f.

src/or/policies.c

index 126ba465dffd9afca3a2642e904cd1c37f81a851..7f71b0df2203e46ddc38be6d8448a667edd9f7fe 100644 (file)
@@ -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;