laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/28962 )
Change subject: tlv: Use self._compute_tag() method rather than direct self.tag ......................................................................
tlv: Use self._compute_tag() method rather than direct self.tag
The TLV_IE.from_tlv() method is part of a base class that is inherited by more specific classes. The official way to obtain the tag is the inherited-class-provided self._compute_tag() method, and *not* a direct reference to the self.tag member.
This allows for some more obscure TLV parsers, such as the upcoming one for Proactive Commands in the CAT/OTA context.
Change-Id: I0cd70e31567edc5a0584336efcb5e4282734f6dd --- M pySim/tlv.py 1 file changed, 1 insertion(+), 1 deletion(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved
diff --git a/pySim/tlv.py b/pySim/tlv.py index 5acc781..a5baa23 100644 --- a/pySim/tlv.py +++ b/pySim/tlv.py @@ -236,7 +236,7 @@ return {}, b'' (rawtag, remainder) = self.__class__._parse_tag_raw(do) if rawtag: - if rawtag != self.tag: + if rawtag != self._compute_tag(): raise ValueError("%s: Encountered tag %s doesn't match our supported tag %s" % (self, rawtag, self.tag)) (length, remainder) = self.__class__._parse_len(remainder)