diff options
author | Michael Mann <mmann78@netscape.net> | 2013-11-02 00:36:30 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-11-02 00:36:30 +0000 |
commit | f8f1f483713edc82c51656580e67f5d21ba2adef (patch) | |
tree | 724e691cfbd818a3c191335e83121d0a3ad897f8 /epan/dissectors/packet-ndmp.c | |
parent | b6484432aaa2eb6787cc54cc4a7b489ae70e57aa (diff) |
Pass struct tcpinfo into all TCP subdissectors instead of through pinfo->private_data.
svn path=/trunk/; revision=53036
Diffstat (limited to 'epan/dissectors/packet-ndmp.c')
-rw-r--r-- | epan/dissectors/packet-ndmp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/epan/dissectors/packet-ndmp.c b/epan/dissectors/packet-ndmp.c index d0bf54509f..f79b33d615 100644 --- a/epan/dissectors/packet-ndmp.c +++ b/epan/dissectors/packet-ndmp.c @@ -3164,7 +3164,7 @@ dissect_ndmp_message(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) */ DISSECTOR_ASSERT((pinfo != NULL) && (pinfo->private_data != NULL)); - tcpinfo = (struct tcpinfo *)pinfo->private_data; + tcpinfo = (struct tcpinfo *)p_get_proto_data(pinfo->fd, proto_ndmp, 0); seq = tcpinfo->seq; len = (ndmp_rm & RPC_RM_FRAGLEN) + 4; @@ -3508,12 +3508,18 @@ dissect_ndmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_ * as the protocol dissector for this conversation. */ static int -dissect_ndmp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) +dissect_ndmp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data) { if (tvb_length(tvb) < 28) return 0; if (!check_if_ndmp(tvb, pinfo)) return 0; + + /* XXX - tcp_dissect_pdus() doesn't have a way to pass dissector data, so store + the tcpinfo structure from the TCP dissector as proto_data to be retrieved + in dissect_ndmp_message() */ + p_add_proto_data(pinfo->fd, proto_ndmp, 0, data); + tcp_dissect_pdus(tvb, pinfo, tree, ndmp_desegment, 28, get_ndmp_pdu_len, dissect_ndmp_message); return tvb_length(tvb); |