diff options
author | Robert Ransom <rransom.8774@gmail.com> | 2011-11-07 08:35:51 -0800 |
---|---|---|
committer | Robert Ransom <rransom.8774@gmail.com> | 2011-11-07 08:35:51 -0800 |
commit | 65a0d7e7ef03cc2390cad81264e451e59206842b (patch) | |
tree | f68795041ef3fd4bc7dbca843a64f7d9226cf7fa | |
parent | 972564630e8f85499e611f1eeb7174d0c0230731 (diff) | |
download | tor-65a0d7e7ef03cc2390cad81264e451e59206842b.tar.gz tor-65a0d7e7ef03cc2390cad81264e451e59206842b.zip |
Don't leak an extend_info_t in rend_client_any_intro_points_usable
-rw-r--r-- | changes/bug4424 | 6 | ||||
-rw-r--r-- | src/or/rendclient.c | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/changes/bug4424 b/changes/bug4424 new file mode 100644 index 0000000000..6928745896 --- /dev/null +++ b/changes/bug4424 @@ -0,0 +1,6 @@ + o Major bugfixes + + - Don't leak memory when we check whether a hidden service + descriptor has any usable introduction points left. Fixes bug + 4424. Bugfix on 0.2.2.25-alpha; found by frosty_un. + diff --git a/src/or/rendclient.c b/src/or/rendclient.c index f84475acbc..3dfca58f86 100644 --- a/src/or/rendclient.c +++ b/src/or/rendclient.c @@ -952,8 +952,14 @@ rend_client_get_random_intro_impl(const rend_cache_entry_t *entry, int rend_client_any_intro_points_usable(const rend_cache_entry_t *entry) { - return rend_client_get_random_intro_impl( - entry, get_options()->StrictNodes, 0) != NULL; + extend_info_t *extend_info = + rend_client_get_random_intro_impl(entry, get_options()->StrictNodes, 0); + int rv = extend_info != NULL; + + if (extend_info != NULL) + extend_info_free(extend_info); + + return rv; } /** Client-side authorizations for hidden services; map of onion address to |