diff --git a/src/lazyfree.cpp b/src/lazyfree.cpp index 6bca4481b..141df38f2 100644 --- a/src/lazyfree.cpp +++ b/src/lazyfree.cpp @@ -60,9 +60,10 @@ bool redisDbPersistentData::asyncDelete(robj *key) { return syncDelete(key); // async delte never makes sense with a storage provider dictEntry *de = dictUnlink(m_pdict,ptrFromObj(key)); - if (m_pdbSnapshot != nullptr && m_pdbSnapshot->find_cached_threadsafe(szFromObj(key)) != nullptr) - dictAdd(m_pdictTombstone, sdsdup((sds)dictGetKey(de)), nullptr); if (de) { + if (m_pdbSnapshot != nullptr && m_pdbSnapshot->find_cached_threadsafe(szFromObj(key)) != nullptr) + dictAdd(m_pdictTombstone, sdsdup((sds)dictGetKey(de)), nullptr); + robj *val = (robj*)dictGetVal(de); if (val->FExpires()) {