From: Nick Mathewson Date: Fri, 1 Jul 2011 15:52:39 +0000 (-0400) Subject: Fix a rare memory leak in rend_cache_store X-Git-Tag: tor-0.2.2.30-rc~8^2~3^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=46297bc7bd86826fa79195f36059ce408ef45b6c;p=thirdparty%2Ftor.git Fix a rare memory leak in rend_cache_store When we rejected a descriptor for not being the one we wanted, we were letting the parsed descriptor go out of scope. Found by Coverity; CID # 30. Bugfix on 0.2.1.26. (No changes file yet, since this is not in any 0.2.1.x release.) --- diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c index 8727a70c2e..e0c101e1ee 100644 --- a/src/or/rendcommon.c +++ b/src/or/rendcommon.c @@ -1077,6 +1077,7 @@ rend_cache_store(const char *desc, size_t desc_len, int published, log_warn(LD_REND, "Received service descriptor for service ID %s; " "expected descriptor for service ID %s.", query, safe_str(service_id)); + rend_service_descriptor_free(parsed); return -2; } now = time(NULL);