diff --git a/src/Cache.cpp b/src/Cache.cpp index 67889543..c9baaf5e 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp @@ -4442,11 +4442,15 @@ Cache::markUserKeysOutOfDate(lmdb::txn &txn, std::string_view oldKeys; - UserKeyCache cacheEntry; + UserKeyCache cacheEntry{}; auto res = db.get(txn, user, oldKeys); if (res) { - cacheEntry = nlohmann::json::parse(std::string_view(oldKeys.data(), oldKeys.size())) - .get(); + try { + cacheEntry = nlohmann::json::parse(std::string_view(oldKeys.data(), oldKeys.size())) + .get(); + } catch (std::exception &e) { + nhlog::db()->error("Failed to parse {}: {}", oldKeys, e.what()); + } } cacheEntry.last_changed = sync_token;