diff --git a/src/cache.cpp b/src/cache.cpp index a4ba770..ed23b77 100644 --- a/src/cache.cpp +++ b/src/cache.cpp @@ -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);