Merge pull request #443 from tlevi/master

Fix for leaks during stat cache entry expiry / truncation (#340)
This commit is contained in:
Takeshi Nakatani 2016-07-03 12:24:41 +09:00 committed by GitHub
commit e8680b485d

View File

@ -496,6 +496,9 @@ bool StatCache::TruncateCache(void)
for(stat_cache_t::iterator iter = stat_cache.begin(); iter != stat_cache.end(); ){
stat_cache_entry* entry = iter->second;
if(!entry || (0L < entry->notruncate && IsExpireStatCacheTime(entry->cache_date, ExpireTime))){
if(entry){
delete entry;
}
stat_cache.erase(iter++);
}else{
++iter;
@ -532,6 +535,9 @@ bool StatCache::TruncateCache(void)
stat_cache_t::iterator siter = *iiter;
S3FS_PRN_DBG("truncate stat cache[path=%s]", siter->first.c_str());
if(siter->second){
delete siter->second;
}
stat_cache.erase(siter);
}
S3FS_MALLOCTRIM(0);