From 2db843e7b59506f84a72e29a2fc2141b5b5c6639 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Fri, 21 May 2021 22:51:28 +0200 Subject: [PATCH] transport/pcsc: Raise exception if reader number is out of range Change-Id: I0acd6900feabb1cfa03b84f24903c6b746a6bdea --- pySim/transport/pcsc.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 73a99e8b..c16abac1 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -19,10 +19,10 @@ from smartcard.CardConnection import CardConnection from smartcard.CardRequest import CardRequest -from smartcard.Exceptions import NoCardException, CardRequestTimeoutException, CardConnectionException +from smartcard.Exceptions import NoCardException, CardRequestTimeoutException, CardConnectionException, CardConnectionException from smartcard.System import readers -from pySim.exceptions import NoCardError, ProtocolError +from pySim.exceptions import NoCardError, ProtocolError, ReaderError from pySim.transport import LinkBase from pySim.utils import h2i, i2h @@ -33,6 +33,8 @@ class PcscSimLink(LinkBase): def __init__(self, reader_number:int=0, **kwargs): super().__init__(**kwargs) r = readers() + if reader_number >= len(r): + raise ReaderError self._reader = r[reader_number] self._con = self._reader.createConnection()