diff --git a/conanfile.py b/conanfile.py index ac5fd4c8c..607dd9cab 100644 --- a/conanfile.py +++ b/conanfile.py @@ -9,7 +9,7 @@ class HomestoreConan(ConanFile): name = "homestore" - version = "7.5.18" + version = "7.5.19" homepage = "https://github.com/eBay/Homestore" description = "HomeStore Storage Engine" diff --git a/src/lib/index/wb_cache.cpp b/src/lib/index/wb_cache.cpp index 4d0fb8b2b..3b07d35c6 100644 --- a/src/lib/index/wb_cache.cpp +++ b/src/lib/index/wb_cache.cpp @@ -50,8 +50,10 @@ IndexWBCache::IndexWBCache(const std::shared_ptr< VirtualDev >& vdev, std::pair< return static_cast< IndexBtreeNode* >(node.get())->m_idx_buf->m_blkid; }, [](const sisl::CacheRecord& rec) -> bool { - const auto& hnode = (sisl::SingleEntryHashNode< BtreeNodePtr >&)rec; - return static_cast< IndexBtreeNode* >(hnode.m_value.get())->m_idx_buf->is_clean(); + const auto& hnode = static_cast&>(rec); + const auto* idx_node = static_cast(hnode.m_value.get()); + if (!idx_node || !idx_node->m_idx_buf) { return false; } + return idx_node->m_idx_buf->is_clean(); }}, m_node_size{node_size}, m_meta_blk{sb.first} {