From 8c7e54aef45a05f968a42ab50e35fc2245d017ed Mon Sep 17 00:00:00 2001 From: "Kenneth J. Miller" Date: Tue, 21 May 2024 16:52:32 +0200 Subject: [PATCH] fix: MIFARE Classic: allow sector 0 authentication Due to a logic bug, authenticating sector 0 wasn't previously possible. Adapt a similar, but more robust and descriptive, range check from the readBlock method to remedy this. fixes: #160 --- .../kotlin/im/nfc/flutter_nfc_kit/FlutterNfcKitPlugin.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/android/src/main/kotlin/im/nfc/flutter_nfc_kit/FlutterNfcKitPlugin.kt b/android/src/main/kotlin/im/nfc/flutter_nfc_kit/FlutterNfcKitPlugin.kt index 7b97a11..d427af9 100644 --- a/android/src/main/kotlin/im/nfc/flutter_nfc_kit/FlutterNfcKitPlugin.kt +++ b/android/src/main/kotlin/im/nfc/flutter_nfc_kit/FlutterNfcKitPlugin.kt @@ -309,8 +309,9 @@ class FlutterNfcKitPlugin : FlutterPlugin, MethodCallHandler, ActivityAware { return } val index = call.argument("index")!! - if (!(0 < index && index < mifareInfo!!.sectorCount!!)) { - result.error("400", "Invalid sector index $index", null) + val maxSector = mifareInfo!!.sectorCount!! + if (index !in 0 until maxSector) { + result.error("400", "Invalid sector index $index, should be in (0, $maxSector)", null) return } val keyA = call.argument("keyA")