summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2015-11-26 09:09:23 -0500
committerAnders Broman <a.broman58@gmail.com>2015-11-27 05:24:20 +0000
commit5eb60c0582f3ada89a636eb494f3e6d8fc04babd (patch)
treec246f2b57bf0da026ffffba88225e8fbfeb6f471
parent5687e94ac3048d72a8838aa3b39ca2141fbe95c1 (diff)
downloadwireshark-5eb60c0582f3ada89a636eb494f3e6d8fc04babd.tar.gz
[LDAP] Bugfix counting of search results.
Bug: 11761 Change-Id: Icd955b848edc9f802331f25ab1b8684aa2631553 Reviewed-on: https://code.wireshark.org/review/12184 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com> (cherry picked from commit c51f207308d04bda005f84828b59cec4104e4b8f) Reviewed-on: https://code.wireshark.org/review/12216
-rw-r--r--asn1/ldap/ldap.cnf6
-rw-r--r--epan/dissectors/packet-ldap.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/asn1/ldap/ldap.cnf b/asn1/ldap/ldap.cnf
index 1aadfefb6b..a7af368dd0 100644
--- a/asn1/ldap/ldap.cnf
+++ b/asn1/ldap/ldap.cnf
@@ -116,11 +116,12 @@ PasswordPolicyResponseValue B "1.3.6.1.4.1.42.2.27.8.5.1" "passwordPolicy"
/* XXX: the count will not work if the results span multiple TCP packets */
- if(ldap_info && tree) { /* only count once - on tree pass */
+ if(ldap_info) { /* only count once */
switch(ProtocolOp) {
case LDAP_RES_SEARCH_ENTRY:
- ldap_info->num_results++;
+ if (!actx->pinfo->fd->flags.visited)
+ ldap_info->num_results++;
proto_item_append_text(tree, " [%d result%s]",
ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
@@ -135,7 +136,6 @@ PasswordPolicyResponseValue B "1.3.6.1.4.1.42.2.27.8.5.1" "passwordPolicy"
proto_item_append_text(tree, " [%d result%s]",
ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
- ldap_info->num_results = 0;
break;
default:
break;
diff --git a/epan/dissectors/packet-ldap.c b/epan/dissectors/packet-ldap.c
index 8b247f8743..80fc222f1c 100644
--- a/epan/dissectors/packet-ldap.c
+++ b/epan/dissectors/packet-ldap.c
@@ -3218,11 +3218,12 @@ dissect_ldap_ProtocolOp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
/* XXX: the count will not work if the results span multiple TCP packets */
- if(ldap_info && tree) { /* only count once - on tree pass */
+ if(ldap_info) { /* only count once */
switch(ProtocolOp) {
case LDAP_RES_SEARCH_ENTRY:
- ldap_info->num_results++;
+ if (!actx->pinfo->fd->flags.visited)
+ ldap_info->num_results++;
proto_item_append_text(tree, " [%d result%s]",
ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
@@ -3237,7 +3238,6 @@ dissect_ldap_ProtocolOp(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset
proto_item_append_text(tree, " [%d result%s]",
ldap_info->num_results, ldap_info->num_results == 1 ? "" : "s");
- ldap_info->num_results = 0;
break;
default:
break;