Ver código fonte

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 10 anos atrás
pai
commit
16bec0dfd9
1 arquivos alterados com 3 adições e 1 exclusões
  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;