diff options
author | Nick Mathewson <nickm@torproject.org> | 2009-06-05 19:41:40 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2009-06-05 19:41:40 -0400 |
commit | 20193fc7ab16f735f35a16368bfd83e2e565456e (patch) | |
tree | 085d25c2f5d7ba6f6b81ce41de9d0823849b80fd | |
parent | 48bf1d97eeed9fd0812e281cbc1f08c6c5ade89c (diff) | |
download | tor-20193fc7ab16f735f35a16368bfd83e2e565456e.tar tor-20193fc7ab16f735f35a16368bfd83e2e565456e.tar.gz |
Avoid a memory corruption problem related to "private" in DirPolicy.
This is a posible fix for bug 996.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/or/policies.c | 1 |
2 files changed, 4 insertions, 0 deletions
@@ -88,6 +88,9 @@ Changes in version 0.2.1.14-rc - 2009-04-12 patch by Sebastian. - Avoid crashing in the presence of certain malformed descriptors. Found by lark, and by automated fuzzing. + - Avoid crashing when we have "private" in a policy specified in + a DirPolicy or SocksPolicy or ReachableAddresses option and we + re-load the policy. May fix bug 996. o Minor features: - When generating circuit events with verbose nicknames for diff --git a/src/or/policies.c b/src/or/policies.c index cb914d11f..d55e86c18 100644 --- a/src/or/policies.c +++ b/src/or/policies.c @@ -411,6 +411,7 @@ load_policy_from_option(config_line_t *config, smartlist_t **policy, memcpy(&newp, n, sizeof(newp)); newp.prt_min = 1; newp.prt_max = 65535; + newp.is_canonical = 0; c = addr_policy_get_canonical_entry(&newp); SMARTLIST_REPLACE_CURRENT(*policy, n, c); addr_policy_free(n); |