summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2022-09-06 20:24:09 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2022-09-06 20:25:52 +0200
commita014b2f8d603c2191897bf19b78a5098c3e1c54c (patch)
tree4c8a555af8a1be947706009c9656326696437516
parentAllow creating spaces (diff)
downloadnheko-a014b2f8d603c2191897bf19b78a5098c3e1c54c.tar.xz
Fix crash on empty private read receipts being received
fixes #1180
Diffstat (limited to '')
-rw-r--r--src/Cache.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/Cache.cpp b/src/Cache.cpp

index bf485325..90e93bed 100644 --- a/src/Cache.cpp +++ b/src/Cache.cpp
@@ -1841,10 +1841,11 @@ Cache::saveState(const mtx::responses::Sync &res) } } if (userReceipts.count(mtx::events::ephemeral::Receipt::ReadPrivate)) { - auto ts = userReceipts.at(mtx::events::ephemeral::Receipt::ReadPrivate) - .users.at(local_user_id); - if (ts.ts != 0) - receipts[event_id][local_user_id] = ts.ts; + const auto &users = + userReceipts.at(mtx::events::ephemeral::Receipt::ReadPrivate).users; + if (auto ts = users.find(local_user_id); + ts != users.end() && ts->second.ts != 0) + receipts[event_id][local_user_id] = ts->second.ts; } } updateReadReceipt(txn, room.first, receipts);