浏览代码

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;