aboutsummaryrefslogtreecommitdiffstats
path: root/packet-smb-mailslot.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-11-28 11:33:55 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-11-28 11:33:55 +0000
commit33863b42545da9daa3f9e3f815d4a4cee37ae683 (patch)
treee467dcfa9bcf64c46e3299c690dc9e38602e29be /packet-smb-mailslot.c
parent150ac367cab7f523553edb2d3c37554027db7d82 (diff)
If a request has already been processed, and we fail to find its
"smb_saved_info_t" in the table of requests whose replies have been found, don't look it up in the table of requests whose replies have not been found - if the request in question has no reply in the capture, that may find some later frame in the same conversation with the same MID, and we don't need that information anyway - the only reason we *need* that structure is to save information in it for use when processing its reply, and we already did that the first time we processed the request. (The information for the later frame may be bad, e.g. having a null "extra_info" pointer, or having one that points to information for another request.) Arrange that we don't use the pointer to the "smb_saved_info_t" when processing a request except to save information if the request hasn't already been processed, as that pointer may not be valid if the request has already been processed, as per the above. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4292 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-smb-mailslot.c')
-rw-r--r--packet-smb-mailslot.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/packet-smb-mailslot.c b/packet-smb-mailslot.c
index 2d8ce1fe85..7ebdedb8f9 100644
--- a/packet-smb-mailslot.c
+++ b/packet-smb-mailslot.c
@@ -2,7 +2,7 @@
* Routines for SMB mailslot packet dissection
* Copyright 2000, Jeffrey C. Foster <jfoste@woodward.com>
*
- * $Id: packet-smb-mailslot.c,v 1.27 2001/11/28 09:44:27 guy Exp $
+ * $Id: packet-smb-mailslot.c,v 1.28 2001/11/28 11:33:54 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -123,9 +123,12 @@ dissect_mailslot_smb(tvbuff_t *mshdr_tvb, tvbuff_t *setup_tvb,
} else if(strncmp(mailslot,"MSSP",4) == 0){
trans_subcmd=MAILSLOT_MSSP;
}
- }
- if (tri != NULL)
- tri->trans_subcmd = trans_subcmd;
+ if (!pinfo->fd->flags.visited) {
+ if (tri != NULL)
+ tri->trans_subcmd = trans_subcmd;
+ }
+ } else
+ trans_subcmd = tri->trans_subcmd;
if (parent_tree) {
item = proto_tree_add_item(parent_tree, proto_smb_msp, mshdr_tvb,