diff --git a/scapy/asn1fields.py b/scapy/asn1fields.py index 6b23f9bd0ea82968bce82c7ba0fe6950301f4271..296ce0a7848a474bd4b79da90f9f10a0db294184 100644 --- a/scapy/asn1fields.py +++ b/scapy/asn1fields.py @@ -492,9 +492,7 @@ class ASN1F_CHOICE(ASN1F_field): else: s = str(x) if self.instantiated_choices: - if len(x.aliastypes) != 1: - raise ASN1_Error("ASN1F_CHOICE: could not encode object") - cls = x.aliastypes[0] + cls = type(x) if hash(cls) not in x.overload_fields: raise ASN1_Error("ASN1F_CHOICE: could not encode object") tags = x.overload_fields[hash(cls)]