aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dsi.c
diff options
context:
space:
mode:
authorStig Bjørlykke <stig@bjorlykke.org>2009-05-19 17:16:14 +0000
committerStig Bjørlykke <stig@bjorlykke.org>2009-05-19 17:16:14 +0000
commitfc3f1b5283ffb77cf1135800a616b202904879d7 (patch)
treec1f708812bd86cb9a2f2df53f0f5db677b603f40 /epan/dissectors/packet-dsi.c
parent79e537af335c1e3781ca23bb910fc11a30f36bcc (diff)
downloadwireshark-fc3f1b5283ffb77cf1135800a616b202904879d7.tar.gz
wireshark-fc3f1b5283ffb77cf1135800a616b202904879d7.tar.bz2
wireshark-fc3f1b5283ffb77cf1135800a616b202904879d7.zip
From Artem Tamazov (bug 3472):
Save/Restore pinfo->private_data when used. svn path=/trunk/; revision=28412
Diffstat (limited to 'epan/dissectors/packet-dsi.c')
-rw-r--r--epan/dissectors/packet-dsi.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dsi.c b/epan/dissectors/packet-dsi.c
index 9512c02bf5..9e1c5afb7e 100644
--- a/epan/dissectors/packet-dsi.c
+++ b/epan/dissectors/packet-dsi.c
@@ -569,17 +569,20 @@ dissect_dsi_packet(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
case DSIFUNC_WRITE:
{
tvbuff_t *new_tvb;
+ void* pd_save;
int len = tvb_reported_length_remaining(tvb,DSI_BLOCKSIZ);
aspinfo.reply = (dsi_flags == DSIFL_REPLY);
aspinfo.command = dsi_command;
aspinfo.seq = dsi_requestid;
aspinfo.code = dsi_code;
+ pd_save = pinfo->private_data;
pinfo->private_data = &aspinfo;
proto_item_set_len(dsi_tree, DSI_BLOCKSIZ);
new_tvb = tvb_new_subset(tvb, DSI_BLOCKSIZ,-1,len);
call_dissector(afp_handle, new_tvb, pinfo, tree);
+ pinfo->private_data = pd_save;
}
break;
default: