Fix crash on empty private read receipts being received

fixes #1180
This commit is contained in:
Nicolas Werner 2022-09-06 20:24:09 +02:00
parent 1d7575036e
commit a014b2f8d6
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9

View file

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