From 4bc77189968279221c711a9e15c356d0730db302 Mon Sep 17 00:00:00 2001 From: mtu <mtu@mtu> Date: Sun, 14 Feb 2016 15:10:06 +0100 Subject: [PATCH] [amend: unsuccessful fix] Fix recursion bug in ASN1F_optional --- scapy/asn1fields.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/scapy/asn1fields.py b/scapy/asn1fields.py index 0b84c6a9..242fb8ec 100644 --- a/scapy/asn1fields.py +++ b/scapy/asn1fields.py @@ -35,8 +35,7 @@ class ASN1F_field(ASN1F_element): def __init__(self, name, default, context=None, implicit_tag=None, explicit_tag=None): - if context is not None: - self.context = context + self.context = context self.name = name if default is None: self.default = None @@ -371,21 +370,17 @@ class ASN1F_optional(ASN1F_element): def __init__(self, field, by_default=False): field.flexible_tag = False self._field = field - self.default = field.default - self.name = field.name - self.islist = field.islist - self.holds_packets = field.holds_packets def __getattr__(self, attr): return getattr(self._field, attr) def m2i(self, pkt, s): try: return self._field.m2i(pkt, s) - except (ASN1_Error, ASN1F_badsequence, BER_Decoding_Error): + except (ASN1F_badsequence, BER_Decoding_Error): return None, s def dissect(self, pkt, s): try: return self._field.dissect(pkt, s) - except (ASN1_Error, ASN1F_badsequence, BER_Decoding_Error): + except (ASN1F_badsequence, BER_Decoding_Error): self._field.set_val(pkt, None) return s def build(self, pkt): -- GitLab