
commit 16bec0dfd9e5cdd0faf99587c2261b148bc58011 Author: cypherpunks <cypherpunks@torproject.org> Date: Fri Dec 4 15:47:59 2015 +0100 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. --- src/or/policies.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/or/policies.c b/src/or/policies.c index 126ba46..7f71b0d 100644 --- a/src/or/policies.c +++ b/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;