From 9a436271dbbb9a6257982c0568c3d00e0ac82632 Mon Sep 17 00:00:00 2001
From: Him188 <Him188@mamoe.net>
Date: Wed, 19 Feb 2020 18:33:11 +0800
Subject: [PATCH] Fix uninitialized vars

---
 .../kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt | 11 +++++++++--
 .../kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt |  5 ++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt b/mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
index f20543980..f6c1d2513 100644
--- a/mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
+++ b/mirai-core/src/androidMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
@@ -30,9 +30,16 @@ actual class PlatformSocket : Closeable {
     private lateinit var socket: Socket
 
     actual val isOpen: Boolean
-        get() = socket.isConnected
+        get() =
+            if (::socket.isInitialized)
+                socket.isConnected
+            else false
 
-    actual override fun close() = socket.close()
+    actual override fun close() {
+        if (::socket.isInitialized) {
+            socket.close()
+        }
+    }
 
     @PublishedApi
     internal lateinit var writeChannel: BufferedOutputStream
diff --git a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
index 07f22e1e3..f6c1d2513 100644
--- a/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
+++ b/mirai-core/src/jvmMain/kotlin/net/mamoe/mirai/utils/io/PlatformSocket.kt
@@ -30,7 +30,10 @@ actual class PlatformSocket : Closeable {
     private lateinit var socket: Socket
 
     actual val isOpen: Boolean
-        get() = socket.isConnected
+        get() =
+            if (::socket.isInitialized)
+                socket.isConnected
+            else false
 
     actual override fun close() {
         if (::socket.isInitialized) {