<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/pysim/+/25881">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">utils: Fix BER-TLV tag decode for multi-byte tags<br><br>We cannot simply skip anything that has 0xFF as first byte to detect<br>the padding after the end of a TLV object:<br><br>0xFF may very well be a valid first octet of a multi-octet TAG:<br><br>Tags of private class (11) with constructed (1) payload will have 0xFF<br>as first octet.<br><br>So let's expand the check to only detect padding in case of either only<br>a single byte FF being left, or two FF following each other [with<br>whatever suffix].<br><br>Change-Id: I5d64ce9ef1d973804daabae0b15c2e2349e6fab9<br>---<br>M pySim/utils.py<br>1 file changed, 2 insertions(+), 1 deletion(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/pySim/utils.py b/pySim/utils.py</span><br><span>index 777638c..def88f0 100644</span><br><span>--- a/pySim/utils.py</span><br><span>+++ b/pySim/utils.py</span><br><span>@@ -173,7 +173,8 @@</span><br><span>  Returns:</span><br><span>         Tuple of (tag:int, remainder:bytes)</span><br><span>      """</span><br><span style="color: hsl(0, 100%, 40%);">-      if binary[0] == 0xff:</span><br><span style="color: hsl(120, 100%, 40%);">+ # check for FF padding at the end, as customary in SIM card files</span><br><span style="color: hsl(120, 100%, 40%);">+     if binary[0] == 0xff and len(binary) == 1 or binary[0] == 0xff and binary[1] == 0xff:</span><br><span>                return None, binary</span><br><span>  tag = binary[0] & 0x1f</span><br><span>   if tag <= 30:</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/pysim/+/25881">change 25881</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/pysim/+/25881"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: pysim </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I5d64ce9ef1d973804daabae0b15c2e2349e6fab9 </div>
<div style="display:none"> Gerrit-Change-Number: 25881 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: dexter <pmaier@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>