From: Jason A. Donenfeld Date: Sat, 22 Dec 2018 04:12:53 +0000 (+0100) Subject: Do not crash if we can't get socket.fileDescriptor X-Git-Tag: 0.0.20181225-1~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b0b6866c518735ddb96b7f54a1ad2aec6972116f;p=thirdparty%2Fwireguard-apple.git Do not crash if we can't get socket.fileDescriptor Signed-off-by: Jason A. Donenfeld --- diff --git a/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift b/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift index fd6bb9b..e44d298 100644 --- a/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift +++ b/WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift @@ -38,7 +38,7 @@ class PacketTunnelProvider: NEPacketTunnelProvider { packetTunnelSettingsGenerator = PacketTunnelSettingsGenerator(tunnelConfiguration: tunnelConfiguration, resolvedEndpoints: resolvedEndpoints) - let fileDescriptor = packetFlow.value(forKeyPath: "socket.fileDescriptor") as! Int32 //swiftlint:disable:this force_cast + let fileDescriptor = (packetFlow.value(forKeyPath: "socket.fileDescriptor") as? Int32) ?? -1 if fileDescriptor < 0 { wg_log(.error, staticMessage: "Starting tunnel failed: Could not determine file descriptor") errorNotifier.notify(PacketTunnelProviderError.couldNotDetermineFileDescriptor)