Fix crash on invalid utf8 in decrypted events
This commit is contained in:
parent
e8e48305c8
commit
6222ae88ce
|
@ -1048,6 +1048,7 @@ decryptEvent(const MegolmSessionIndex &index,
|
|||
return {DecryptionErrorCode::DecryptionFailed, e.what(), std::nullopt};
|
||||
}
|
||||
|
||||
try {
|
||||
// Add missing fields for the event.
|
||||
json body = json::parse(msg_str);
|
||||
body["event_id"] = event.event_id;
|
||||
|
@ -1059,13 +1060,12 @@ decryptEvent(const MegolmSessionIndex &index,
|
|||
mtx::common::add_relations(body["content"], event.content.relations);
|
||||
|
||||
mtx::events::collections::TimelineEvent te;
|
||||
try {
|
||||
mtx::events::collections::from_json(body, te);
|
||||
|
||||
return {std::nullopt, std::nullopt, std::move(te.data)};
|
||||
} catch (std::exception &e) {
|
||||
return {DecryptionErrorCode::ParsingFailed, e.what(), std::nullopt};
|
||||
}
|
||||
|
||||
return {std::nullopt, std::nullopt, std::move(te.data)};
|
||||
}
|
||||
|
||||
crypto::Trust
|
||||
|
|
Loading…
Reference in New Issue