aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@osmocom.org>2022-07-24 09:44:31 +0200
committerHarald Welte <laforge@osmocom.org>2022-07-24 09:46:11 +0200
commitc61fbf4daa9e1d16e7e50ee199fa2f269ca45d02 (patch)
tree33485035520341127b09605951bb5ff9183fe065
parent04897d5f255d092a36d414a189dc2eb92145aef5 (diff)
pySim-trace: Support SELECT with empty response body
If the modem/UE doesn't ask for the FCP to be returned, a SELECT can exit with 9000 and no response body. Don't crash in that case. Change-Id: I66788717bec921bc54575e60f3f81adc80584dbc
-rw-r--r--pySim/apdu/ts_102_221.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pySim/apdu/ts_102_221.py b/pySim/apdu/ts_102_221.py
index 9ecc2c9..e5455d0 100644
--- a/pySim/apdu/ts_102_221.py
+++ b/pySim/apdu/ts_102_221.py
@@ -95,7 +95,9 @@ class UiccSelect(ApduCommand, n='SELECT', ins=0xA4, cla=['0X', '4X', '6X']):
# decode the SELECT response
if self.successful:
self.file = lchan.selected_file
- return lchan.selected_file.decode_select_response(self.rsp_dict['body'])
+ if 'body' in self.rsp_dict:
+ # not every SELECT is asking for the FCP in response...
+ return lchan.selected_file.decode_select_response(self.rsp_dict['body'])
return None