diff --git a/app/src/main/java/com/topjohnwu/magisk/core/su/SuRequestHandler.kt b/app/src/main/java/com/topjohnwu/magisk/core/su/SuRequestHandler.kt index 731077351..3de65f036 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/su/SuRequestHandler.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/su/SuRequestHandler.kt @@ -68,8 +68,13 @@ abstract class SuRequestHandler( private suspend fun init(name: String) = withContext(Dispatchers.IO) { try { if (Const.Version.atLeastCanary()) { - LocalServerSocket(name).use { - socket = async { it.accept() }.timedAwait() ?: throw SocketError() + val server = LocalServerSocket(name) + // Do NOT use Closable?.use(block) here as LocalServerSocket does + // not implement Closable on older Android platforms + try { + socket = async { server.accept() }.timedAwait() ?: throw SocketError() + } finally { + server.close() } } else { socket = LocalSocket()