From fe9145d58078306b56a25584bbb343ddcc0e92b2 Mon Sep 17 00:00:00 2001 From: Sorunome Date: Thu, 16 Sep 2021 14:48:57 +0200 Subject: [PATCH] fix: missing null check --- lib/encryption/utils/key_verification.dart | 3 +++ lib/src/client.dart | 1 + 2 files changed, 4 insertions(+) diff --git a/lib/encryption/utils/key_verification.dart b/lib/encryption/utils/key_verification.dart index 1c3c89a6..8eac5639 100644 --- a/lib/encryption/utils/key_verification.dart +++ b/lib/encryption/utils/key_verification.dart @@ -603,6 +603,9 @@ class KeyVerification { '[Key Verification] Tried to broadcast and un-broadcastable type: $type'); } } else { + if (client.userDeviceKeys[userId].deviceKeys[deviceId] == null) { + Logs().e('[Key Verification] Unknown device'); + } await client.sendToDeviceEncrypted( [client.userDeviceKeys[userId].deviceKeys[deviceId]], type, diff --git a/lib/src/client.dart b/lib/src/client.dart index 6b7c6a49..0fd76337 100644 --- a/lib/src/client.dart +++ b/lib/src/client.dart @@ -1963,6 +1963,7 @@ class Client extends MatrixApi { // then only send it to verified devices if (deviceKeys.isNotEmpty) { deviceKeys.removeWhere((DeviceKeys deviceKeys) => + deviceKeys == null || deviceKeys.blocked || (deviceKeys.userId == userID && deviceKeys.deviceId == deviceID) || (onlyVerified && !deviceKeys.verified));