From 30bb3dcb6f6a4a0a454d06537c3a9eaf11fa6ae8 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Tue, 13 Oct 2020 15:32:02 +1100 Subject: [PATCH] Fix rare crash --- SignalServiceKit/src/Loki/API/SnodeAPI.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SignalServiceKit/src/Loki/API/SnodeAPI.swift b/SignalServiceKit/src/Loki/API/SnodeAPI.swift index cd411f096..3ce17b2fd 100644 --- a/SignalServiceKit/src/Loki/API/SnodeAPI.swift +++ b/SignalServiceKit/src/Loki/API/SnodeAPI.swift @@ -89,7 +89,11 @@ public final class SnodeAPI : NSObject { return Snode(address: "https://\(address)", port: UInt16(port), publicKeySet: Snode.KeySet(ed25519Key: ed25519PublicKey, x25519Key: x25519PublicKey)) }) // randomElement() uses the system's default random generator, which is cryptographically secure - return snodePool.randomElement()! + if !snodePool.isEmpty { + return snodePool.randomElement()! + } else { + throw SnodeAPIError.randomSnodePoolUpdatingFailed + } } }.done2 { snode in seal.fulfill(snode)