From 918133234a37b021cef07d9286dc3fd847ce3a97 Mon Sep 17 00:00:00 2001 From: Arisaka Mayuki Date: Thu, 29 Feb 2024 15:19:25 +0900 Subject: [PATCH] Fix NullPointerException when paramters key in URI contains semicolon --- .../java/com/twofasapp/data/services/otp/OtpLinkParser.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/services/src/main/java/com/twofasapp/data/services/otp/OtpLinkParser.kt b/data/services/src/main/java/com/twofasapp/data/services/otp/OtpLinkParser.kt index 27f55ebb..b8366713 100644 --- a/data/services/src/main/java/com/twofasapp/data/services/otp/OtpLinkParser.kt +++ b/data/services/src/main/java/com/twofasapp/data/services/otp/OtpLinkParser.kt @@ -55,7 +55,9 @@ object OtpLinkParser { private fun isAuthorityValid(uri: Uri) = uri.authority?.lowercase() == TOTP || uri.authority?.lowercase() == HOTP || uri.authority?.lowercase() == STEAM - private fun mapQueryParams(uri: Uri) = uri.queryParameterNames.associateWith { uri.getQueryParameter(it)!! } + private fun mapQueryParams(uri: Uri) = uri.queryParameterNames.associateWith { + uri.getQueryParameter(it) ?: "" // getQueryParameter() is nullable when parameters key contains semicolon + } private fun getPath(uri: Uri): String { if (uri.path == null) return ""