laforge submitted this change.

View Change


Approvals: fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified laforge: Looks good to me, approved
bertlv_parse_len: Fix input data is smaller than num length octets

This can happen if there's a file with invalid encoding on the card,
such as a tag followed by all-ff. Let's gracefully ignore it and
return zero bytes as response.

Change-Id: Ic44557368a6034dbf4bb021ab23a57927c22def0
---
M pySim/utils.py
1 file changed, 15 insertions(+), 0 deletions(-)

diff --git a/pySim/utils.py b/pySim/utils.py
index 44800fb..23b26f9 100644
--- a/pySim/utils.py
+++ b/pySim/utils.py
@@ -314,6 +314,8 @@
else:
num_len_oct = binary[0] & 0x7f
length = 0
+ if len(binary) < num_len_oct + 1:
+ return (0, b'')
for i in range(1, 1+num_len_oct):
length <<= 8
length |= binary[i]

To view, visit change 35282. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ic44557368a6034dbf4bb021ab23a57927c22def0
Gerrit-Change-Number: 35282
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge@osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy@sysmocom.de>
Gerrit-Reviewer: laforge <laforge@osmocom.org>
Gerrit-MessageType: merged