summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/Cache.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp

index cbff2ca6..feadb006 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp
@@ -224,9 +224,16 @@ Cache::exportSessionKeys() std::string key, value; while (cursor.get(key, value, MDB_NEXT)) { ExportedSession exported; + MegolmSessionIndex index; auto saved_session = unpickle<InboundSessionObject>(value, SECRET); - auto index = nlohmann::json::parse(key).get<MegolmSessionIndex>(); + + try { + index = nlohmann::json::parse(key).get<MegolmSessionIndex>(); + } catch (const nlohmann::json::exception &e) { + nhlog::db()->critical("failed to export megolm session: {}", e.what()); + continue; + } exported.room_id = index.room_id; exported.sender_key = index.sender_key;