Attention is currently required from: laforge.
1 comment:
File src/osmocom/tlv.py:
if x.tag > 0xff:
# two byte tag: the comprehension bit is 0x8000!
if x.tag & 0x8000 == 0:
print("Fixing up COMPR_TLV_IE class %s: tag=0x%x has no comprehension bit" % (name, x.tag))
x.tag = x.tag | 0x8000
what exactly is the difference here? isn't this change semantically identical?
No, because the original condition was AND, so if either part didnt match it would fall through to the elif and that is what clobbered the two byte tag. As the comment says two byte is 0x8000 - precisely the part in the previous AND that would fail.
To view, visit change 43171. To unsubscribe, or for help writing mail filters, visit settings.