Fixed memory leak in ShardedLRUCache

Summary: `~ShardedLRUCache()` was empty despite `init()` allocating memory on the heap. Fixed the leak by freeing memory allocated by `init()`.

Test Plan:
make check

Ran valgrind on db_test before and after patch and saw leaked memory went down

Reviewers: vamsi, dhruba, emayanke, sheki

Reviewed By: dhruba

CC: leveldb

Differential Revision: https://reviews.facebook.net/D7791
main
Kosie van der Merwe 12 years ago
parent 628dc2aad9
commit 4d339d7462
  1. 4
      util/cache.cc

@ -304,7 +304,9 @@ class ShardedLRUCache : public Cache {
: last_id_(0) { : last_id_(0) {
init(capacity, numShardBits); init(capacity, numShardBits);
} }
virtual ~ShardedLRUCache() { } virtual ~ShardedLRUCache() {
delete[] shard_;
}
virtual Handle* Insert(const Slice& key, void* value, size_t charge, virtual Handle* Insert(const Slice& key, void* value, size_t charge,
void (*deleter)(const Slice& key, void* value)) { void (*deleter)(const Slice& key, void* value)) {
const uint32_t hash = HashSlice(key); const uint32_t hash = HashSlice(key);

Loading…
Cancel
Save