瀏覽代碼

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 年之前
父節點
當前提交
16bec0dfd9
共有 1 個文件被更改,包括 3 次插入1 次删除
  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;