]> git.ipfire.org Git - thirdparty/wireguard-apple.git/commitdiff
Do not crash if we can't get socket.fileDescriptor
authorJason A. Donenfeld <Jason@zx2c4.com>
Sat, 22 Dec 2018 04:12:53 +0000 (05:12 +0100)
committerJason A. Donenfeld <Jason@zx2c4.com>
Sat, 22 Dec 2018 04:13:04 +0000 (05:13 +0100)
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
WireGuard/WireGuardNetworkExtension/PacketTunnelProvider.swift

index fd6bb9b920284e3331ec3e264ab17a4fb7b14031..e44d29857e722167600cb717d22c64d20b591907 100644 (file)
@@ -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)