diff options
author | Michael Mann <mmann78@netscape.net> | 2013-10-19 23:06:13 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2013-10-19 23:06:13 +0000 |
commit | 522b4ce5c0a628a33ff864a42d04127a86fd0a45 (patch) | |
tree | a9cb82b7d616b6a762951a3fd91301ab6996aa2d /epan/dissectors/packet-ipx.c | |
parent | e958d8c08134aa048842d4a934baf2946fa6284e (diff) |
Pass SPX "private data" into subdissectors instead of using pinfo->private_data.
svn path=/trunk/; revision=52698
Diffstat (limited to 'epan/dissectors/packet-ipx.c')
-rw-r--r-- | epan/dissectors/packet-ipx.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/epan/dissectors/packet-ipx.c b/epan/dissectors/packet-ipx.c index 9e74acaec4..a09f2e0280 100644 --- a/epan/dissectors/packet-ipx.c +++ b/epan/dissectors/packet-ipx.c @@ -767,7 +767,6 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) } if (tvb_reported_length_remaining(tvb, SPX_HEADER_LEN) > 0) { - void* pd_save; /* * Call subdissectors based on the IPX socket numbers; a * subdissector might have registered with our IPX socket @@ -796,24 +795,19 @@ dissect_spx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) */ spx_infox.eom = conn_ctrl & SPX_EOM; spx_infox.datastream_type = datastream_type; - pd_save = pinfo->private_data; - pinfo->private_data = &spx_infox; next_tvb = tvb_new_subset_remaining(tvb, SPX_HEADER_LEN); - if (dissector_try_uint(spx_socket_dissector_table, low_socket, - next_tvb, pinfo, tree)) + if (dissector_try_uint_new(spx_socket_dissector_table, low_socket, + next_tvb, pinfo, tree, FALSE, &spx_infox)) { - pinfo->private_data = pd_save; return; } - if (dissector_try_uint(spx_socket_dissector_table, high_socket, - next_tvb, pinfo, tree)) + if (dissector_try_uint_new(spx_socket_dissector_table, high_socket, + next_tvb, pinfo, tree, FALSE, &spx_infox)) { - pinfo->private_data = pd_save; return; } call_dissector(data_handle, next_tvb, pinfo, tree); - pinfo->private_data = pd_save; } } |