From cedd8dde2e4e16c883569fe900da317e9d0d69e9 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Tue, 2 Dec 2014 13:38:06 -0500 Subject: [PATCH 40/53] Ticket 47969 - COS memory leak when rebuilding the cache Bug Description: When the COS cache is released, not all of the schema objectclasses are freed. So every time we rebuild the COS cache we leak memory. Fix Description: After we free the schema attributes, the very first attribute still needs to be freed. It is not freed initially because of the duplicate checking logic, so it is now done after the loop. https://fedorahosted.org/389/ticket/47969 Reviewed by: nhosoi(Thanks!) (cherry picked from commit d2dfda95c543f106443f898436151b00c68e4270) (cherry picked from commit bc47239c5c7e6d19564fcd2839c6f2bd81a5b540) --- ldap/servers/plugins/cos/cos_cache.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ldap/servers/plugins/cos/cos_cache.c b/ldap/servers/plugins/cos/cos_cache.c index a7993c8..fd163f9 100644 --- a/ldap/servers/plugins/cos/cos_cache.c +++ b/ldap/servers/plugins/cos/cos_cache.c @@ -1864,6 +1864,8 @@ static void cos_cache_del_schema(cosCache *pCache) } } } + /* Finally, remove the first attribute's objectclass list */ + cos_cache_del_attrval_list(&(pCache->ppAttrIndex[0]->pObjectclasses)); LDAPDebug( LDAP_DEBUG_TRACE, "<-- cos_cache_del_schema\n",0,0,0); } -- 1.9.3