diff options
author | sahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7> | 2006-06-22 10:29:49 +0000 |
---|---|---|
committer | sahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7> | 2006-06-22 10:29:49 +0000 |
commit | b4638588df7d0b51f9c81d8995e18e48ef5adad1 (patch) | |
tree | 5cd56a21fc62923a2737bec5c77a33ebf20ebf79 /epan/dissectors/packet-ldap.c | |
parent | 65a800bf0424e8b1ef3dd06786ad82fd92c5af6a (diff) |
the dissector for AssertionValue that is implemented in the template file
did not check the implicit_tag flag and caused extensiblematch filters to show up as malformed packets.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18540 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-ldap.c')
-rw-r--r-- | epan/dissectors/packet-ldap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 1201dfaeeb..0ed70a1ad7 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -414,8 +414,12 @@ dissect_ldap_AssertionValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset guint32 len, i; const guchar *str; - offset=get_ber_identifier(tvb, offset, &class, &pc, &tag); - offset=get_ber_length(NULL, tvb, offset, &len, &ind); + if(!implicit_tag){ + offset=get_ber_identifier(tvb, offset, &class, &pc, &tag); + offset=get_ber_length(NULL, tvb, offset, &len, &ind); + } else { + len=tvb_length_remaining(tvb,offset); + } if(len==0){ return offset; |