From 7d8029eb23cce61776639242f527efea31d8c6d7 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 6 Aug 2022 13:16:19 +0200 Subject: [PATCH] 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 --- pySim/tlv.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pySim/tlv.py b/pySim/tlv.py index 5acc7816..a5baa234 100644 --- a/pySim/tlv.py +++ b/pySim/tlv.py @@ -236,7 +236,7 @@ class TLV_IE(IE): 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)