From 2e6d3b571b50f6a0df31787cb95ba0f66c4fa85f Mon Sep 17 00:00:00 2001 From: Uli Heilmeier Date: Mon, 22 Mar 2021 22:34:20 +0100 Subject: [PATCH] LDAP: SASL Buffer doesn't include Length field SASL Buffer starts after the SASL Buffer Length field. Therefore we should only mark the bytes without the Length field. Sample capture can be found in wireshark/wireshark#15128 --- epan/dissectors/asn1/ldap/packet-ldap-template.c | 2 +- epan/dissectors/packet-ldap.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/epan/dissectors/asn1/ldap/packet-ldap-template.c b/epan/dissectors/asn1/ldap/packet-ldap-template.c index d192e36522..8e370cc08b 100644 --- a/epan/dissectors/asn1/ldap/packet-ldap-template.c +++ b/epan/dissectors/asn1/ldap/packet-ldap-template.c @@ -1188,7 +1188,7 @@ static void proto_tree_add_uint(ldap_tree, hf_ldap_sasl_buffer_length, sasl_tvb, 0, 4, sasl_len); - sasl_tree = proto_tree_add_subtree(ldap_tree, sasl_tvb, 0, sasl_msg_len, ett_ldap_sasl_blob, NULL, "SASL Buffer"); + sasl_tree = proto_tree_add_subtree(ldap_tree, sasl_tvb, 4, sasl_msg_len - 4, ett_ldap_sasl_blob, NULL, "SASL Buffer"); if (ldap_info->auth_mech != NULL && ((strcmp(ldap_info->auth_mech, "GSS-SPNEGO") == 0) || diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c index 1b59f77460..8bf1b513ff 100644 --- a/epan/dissectors/packet-ldap.c +++ b/epan/dissectors/packet-ldap.c @@ -4098,7 +4098,7 @@ static void proto_tree_add_uint(ldap_tree, hf_ldap_sasl_buffer_length, sasl_tvb, 0, 4, sasl_len); - sasl_tree = proto_tree_add_subtree(ldap_tree, sasl_tvb, 0, sasl_msg_len, ett_ldap_sasl_blob, NULL, "SASL Buffer"); + sasl_tree = proto_tree_add_subtree(ldap_tree, sasl_tvb, 4, sasl_msg_len - 4, ett_ldap_sasl_blob, NULL, "SASL Buffer"); if (ldap_info->auth_mech != NULL && ((strcmp(ldap_info->auth_mech, "GSS-SPNEGO") == 0) ||