aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ldap.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2006-06-22 10:29:49 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2006-06-22 10:29:49 +0000
commitb4638588df7d0b51f9c81d8995e18e48ef5adad1 (patch)
tree5cd56a21fc62923a2737bec5c77a33ebf20ebf79 /epan/dissectors/packet-ldap.c
parent65a800bf0424e8b1ef3dd06786ad82fd92c5af6a (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.c8
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;