diff --git a/epan/dissectors/packet-credssp.c b/epan/dissectors/packet-credssp.c index 8531c59b43..edc5353105 100644 --- a/epan/dissectors/packet-credssp.c +++ b/epan/dissectors/packet-credssp.c @@ -362,6 +362,7 @@ dissect_credssp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, gboolean pc; gint32 tag; guint32 length; + gint8 ver; asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); @@ -376,7 +377,8 @@ dissect_credssp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, offset = get_ber_identifier(tvb, offset, &ber_class, &pc, &tag); if((ber_class == BER_CLASS_UNI) && (tag == BER_UNI_TAG_INTEGER)) { offset = get_ber_length(tvb, offset, &length, NULL); - if((length == 1) && (tvb_get_guint8(tvb, offset) == 2)) { + ver = tvb_get_guint8(tvb, offset); + if((length == 1) && ((ver == 2) || (ver == 3))) { if (have_tap_listener(exported_pdu_tap)) { exp_pdu_data_t *exp_pdu_data; guint8 tags_bit_field;