diff --git a/util/cache.cc b/util/cache.cc index e64c01e7b..9c47edd0e 100644 --- a/util/cache.cc +++ b/util/cache.cc @@ -74,7 +74,7 @@ struct LRUHandle { void Free() { assert((refs == 1 && in_cache) || (refs == 0 && !in_cache)); (*deleter)(key(), value); - free(this); + delete[] reinterpret_cast(this); } }; @@ -390,8 +390,8 @@ Cache::Handle* LRUCache::Insert( // Allocate the memory here outside of the mutex // If the cache is full, we'll have to release it // It shouldn't happen very often though. - LRUHandle* e = - reinterpret_cast(malloc(sizeof(LRUHandle) - 1 + key.size())); + LRUHandle* e = reinterpret_cast( + new char[sizeof(LRUHandle) - 1 + key.size()]); autovector last_reference_list; e->value = value;