From da57ef15290a359ee40d71b9de3024af8bd20658 Mon Sep 17 00:00:00 2001 From: Bjoern Riemer Date: Tue, 18 Jan 2022 15:38:14 +0100 Subject: [PATCH] catch and ignore SwMatchError on probing for AID's When probing applications on a card by running select_adf_by_aid() SwMatchError exceptions indicating the non exsistance of that application on the card should be ignored. Change-Id: I3aa7deaf46bdf352a201c3089b3714405a06f281 --- pySim/filesystem.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index dfe16772..32688db0 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -1113,11 +1113,13 @@ class RuntimeState(object): # Some card applications may not be registered in EF.DIR, we will actively # probe for those applications for f in set(apps_profile) - set(apps_taken): - data, sw = self.card.select_adf_by_aid(f.aid) - if sw == "9000": - print(" %s: %s" % (f.name, f.aid)) - apps_taken.append(f) - + try: + data, sw = self.card.select_adf_by_aid(f.aid) + if sw == "9000": + print(" %s: %s" % (f.name, f.aid)) + apps_taken.append(f) + except SwMatchError: + pass return apps_taken def reset(self, cmd_app=None) -> Hexstr: