From aaa43631aa1d29be0ef29824b2fa30d6b7133910 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 26 Feb 2019 13:15:03 -0700 Subject: [PATCH 1/2] Fix "e is undefined" masking the original error in MegolmDecryption --- src/crypto/algorithms/megolm.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/crypto/algorithms/megolm.js b/src/crypto/algorithms/megolm.js index f244d7add..115a8ee9b 100644 --- a/src/crypto/algorithms/megolm.js +++ b/src/crypto/algorithms/megolm.js @@ -758,7 +758,7 @@ MegolmDecryption.prototype.decryptEvent = async function(event) { } catch (e) { let errorCode = "OLM_DECRYPT_GROUP_MESSAGE_ERROR"; - if (e.message === 'OLM.UNKNOWN_MESSAGE_INDEX') { + if (e && e.message && e.message === 'OLM.UNKNOWN_MESSAGE_INDEX') { this._requestKeysForEvent(event); errorCode = 'OLM_UNKNOWN_MESSAGE_INDEX'; @@ -766,7 +766,7 @@ MegolmDecryption.prototype.decryptEvent = async function(event) { throw new base.DecryptionError( errorCode, - e.toString(), { + e ? e.toString() : "Unknown Error: Error is undefined", { session: content.sender_key + '|' + content.session_id, }, ); From fd155c15bd78f81f0f32d462be801364e1f7a8c1 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 26 Feb 2019 13:50:09 -0700 Subject: [PATCH 2/2] Excessive checks are excessive --- src/crypto/algorithms/megolm.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/crypto/algorithms/megolm.js b/src/crypto/algorithms/megolm.js index 115a8ee9b..94b991437 100644 --- a/src/crypto/algorithms/megolm.js +++ b/src/crypto/algorithms/megolm.js @@ -758,7 +758,7 @@ MegolmDecryption.prototype.decryptEvent = async function(event) { } catch (e) { let errorCode = "OLM_DECRYPT_GROUP_MESSAGE_ERROR"; - if (e && e.message && e.message === 'OLM.UNKNOWN_MESSAGE_INDEX') { + if (e && e.message === 'OLM.UNKNOWN_MESSAGE_INDEX') { this._requestKeysForEvent(event); errorCode = 'OLM_UNKNOWN_MESSAGE_INDEX';