From bd711cdc1fbd74b2331fb014064e6cc19eb2c5d2 Mon Sep 17 00:00:00 2001 From: Hubert Chathi Date: Tue, 19 Mar 2019 23:21:49 -0400 Subject: [PATCH] make sure resolve object is defined before calling it --- src/crypto/olmlib.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/crypto/olmlib.js b/src/crypto/olmlib.js index 2752c368cff..481fc799aa4 100644 --- a/src/crypto/olmlib.js +++ b/src/crypto/olmlib.js @@ -237,7 +237,9 @@ module.exports.ensureOlmSessionsForDevices = async function( const msg = "No one-time keys (alg=" + oneTimeKeyAlgorithm + ") for device " + userId + ":" + deviceId; logger.warn(msg); - resolveSession[key].resolve(); + if (resolveSession[key]) { + resolveSession[key].resolve(); + } continue; } @@ -245,10 +247,14 @@ module.exports.ensureOlmSessionsForDevices = async function( _verifyKeyAndStartSession( olmDevice, oneTimeKey, userId, deviceInfo, ).then((sid) => { - resolveSession[key].resolve(sid); + if (resolveSession[key]) { + resolveSession[key].resolve(sid); + } result[userId][deviceId].sessionId = sid; }, (e) => { - resolveSession[key].resolve(); + if (resolveSession[key]) { + resolveSession[key].resolve(); + } throw e; }), );