summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2008-12-18 00:17:46 +0000
committerNick Mathewson <nickm@torproject.org>2008-12-18 00:17:46 +0000
commiteb1752e458961946fa49f01edd0e8cac82a5fc75 (patch)
treead3770fa06630c75d94b73cf059f51c66f645292
parent97b20ca31dae7ab3fdca110306b8376dd80513a4 (diff)
downloadtor-eb1752e458961946fa49f01edd0e8cac82a5fc75.tar.gz
tor-eb1752e458961946fa49f01edd0e8cac82a5fc75.zip
Backport: Fix memory leak in rend_cache_store_v2_desc_as_client().
svn:r17666
-rw-r--r--ChangeLog3
-rw-r--r--src/or/rendcommon.c1
2 files changed, 4 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2bd4c7b725..beb02549e7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -43,6 +43,9 @@ Changes in version 0.2.0.33 - 200?-??-??
- Clip the CircuitBuildTimeout to a minimum of 30 seconds. Warn the
user if lower values are given in the configuration. Bugfix on
0.1.1.17-rc. Patch by Sebastian.
+ - Fix a memory leak when we decline to add a v2 rendezvous descriptor to
+ the cache because we already had a v0 descriptor with the same ID.
+ Bugfix on 0.2.0.18-alpha.
o Minor features:
- Report the case where all signatures in a detached set are rejected
diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c
index 9c5df44828..559d67e94d 100644
--- a/src/or/rendcommon.c
+++ b/src/or/rendcommon.c
@@ -1139,6 +1139,7 @@ rend_cache_store_v2_desc_as_client(const char *desc,
if (strmap_get_lc(rend_cache, key)) {
log_info(LD_REND, "We already have a v0 descriptor for service ID %s.",
safe_str(service_id));
+ rend_service_descriptor_free(parsed);
return -1;
}
/* Do we already have a newer descriptor? */