From 81204413dbb662a52da4bbba38049b4d2c0cb9de Mon Sep 17 00:00:00 2001 From: sim Date: Thu, 7 May 2026 17:03:13 +0200 Subject: [PATCH] Catch exceptions when responses aren't correct --- .../core/ui/hybrid/HybridAuthenticateActivity.kt | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/ui/hybrid/HybridAuthenticateActivity.kt b/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/ui/hybrid/HybridAuthenticateActivity.kt index 8c01710b51..309f14ff85 100644 --- a/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/ui/hybrid/HybridAuthenticateActivity.kt +++ b/play-services-fido/core/src/main/kotlin/org/microg/gms/fido/core/ui/hybrid/HybridAuthenticateActivity.kt @@ -121,12 +121,14 @@ class HybridAuthenticateActivity : AppCompatActivity() { hybridAuthenticatorController = hybridAuthenticatorController ?: HybridAuthenticatorController(this@HybridAuthenticateActivity) try { hybridAuthenticatorController?.startAuth(qrCodeData!!, handleAuthenticator = { - when (it) { - is AuthenticatorMakeCredentialRequest -> handleMakeCredential(it) - is AuthenticatorGetAssertionRequest -> handleGetAssertion(it) - is AuthenticatorGetInfoRequest -> handleGetInfo(it) - else -> null - } + runCatching { + when (it) { + is AuthenticatorMakeCredentialRequest -> handleMakeCredential(it) + is AuthenticatorGetAssertionRequest -> handleGetAssertion(it) + is AuthenticatorGetInfoRequest -> handleGetInfo(it) + else -> null + } + }.getOrNull() }, completed = { if (it) finishWithSuccess() else finishWithError("auth error") })