From d93d774dcc30685dda3df8835850c3c53f34bd10 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 19 Jul 2024 16:16:31 +0200 Subject: [PATCH] pySim.apdu: Fix APDU CLA matching The cla values as hex strings must be compared in case insensitive manner Change-Id: I890bc385d6209e6cfe9b0c38bd9deee7ae50e5f5 --- pySim/apdu/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pySim/apdu/__init__.py b/pySim/apdu/__init__.py index 6613e912..fbe7e6bf 100644 --- a/pySim/apdu/__init__.py +++ b/pySim/apdu/__init__.py @@ -272,7 +272,7 @@ class ApduCommand(Apdu, metaclass=ApduCommandMeta): """Does the given CLA match the CLA list of the command?.""" if not isinstance(cla, str): cla = '%02X' % cla - cla = cla.lower() + cla = cla.upper() # see https://github.com/PyCQA/pylint/issues/7219 # pylint: disable=no-member for cla_match in cls._cla: @@ -282,7 +282,7 @@ class ApduCommand(Apdu, metaclass=ApduCommandMeta): cla_masked += 'X' else: cla_masked += cla[i] - if cla_masked == cla_match: + if cla_masked == cla_match.upper(): return True return False