Change in pysim[master]: commands.py: fix read_binary for lengths > 256

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Thu Jun 4 22:13:47 UTC 2020


laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17848 )

Change subject: commands.py: fix read_binary for lengths > 256
......................................................................

commands.py: fix read_binary for lengths > 256

fixed commit with commented changes

Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a
---
M pySim/commands.py
1 file changed, 11 insertions(+), 2 deletions(-)

Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved
  fixeria: Looks good to me, but someone else must approve



diff --git a/pySim/commands.py b/pySim/commands.py
index e077289..7288b19 100644
--- a/pySim/commands.py
+++ b/pySim/commands.py
@@ -119,8 +119,17 @@
 			return (None, None)
 		if length is None:
 			length = self.__len(r) - offset
-		pdu = self.cla_byte + 'b0%04x%02x' % (offset, (min(256, length) & 0xff))
-		return self._tp.send_apdu(pdu)
+		total_data = ''
+		while offset < length:
+			chunk_len = min(255, length-offset)
+			pdu = self.cla_byte + 'b0%04x%02x' % (offset, chunk_len)
+			data,sw = self._tp.send_apdu(pdu)
+			if sw == '9000':
+				total_data += data
+				offset += chunk_len
+			else:
+				raise ValueError('Failed to read (offset %d)' % (offset))
+		return total_data, sw
 
 	def update_binary(self, ef, data, offset=0, verify=False):
 		self.select_file(ef)

-- 
To view, visit https://gerrit.osmocom.org/c/pysim/+/17848
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ie9c61caa1412606254b44a3a24f26ad44950e73a
Gerrit-Change-Number: 17848
Gerrit-PatchSet: 8
Gerrit-Owner: guilly at gmail.com <guilly at gmail.com>
Gerrit-Assignee: dexter <pmaier at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: guilly at gmail.com <guilly at gmail.com>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-CC: dexter <pmaier at sysmocom.de>
Gerrit-CC: herlesupreeth <herlesupreeth at gmail.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200604/b13e2da0/attachment.htm>


More information about the gerrit-log mailing list