aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-aim.c
diff options
context:
space:
mode:
authorstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>2009-05-19 17:16:14 +0000
committerstig <stig@f5534014-38df-0310-8fa8-9805f1628bb7>2009-05-19 17:16:14 +0000
commit6ce6394a26aa87eb0b4b95ecd4725ef817a52612 (patch)
treec1f708812bd86cb9a2f2df53f0f5db677b603f40 /epan/dissectors/packet-aim.c
parente35b80409e2c1126a3470ef580f546d6c719bab5 (diff)
From Artem Tamazov (bug 3472):
Save/Restore pinfo->private_data when used. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@28412 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-aim.c')
-rw-r--r--epan/dissectors/packet-aim.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/epan/dissectors/packet-aim.c b/epan/dissectors/packet-aim.c
index 3c9d90c6be..d0c7ec72f7 100644
--- a/epan/dissectors/packet-aim.c
+++ b/epan/dissectors/packet-aim.c
@@ -791,6 +791,7 @@ static void dissect_aim_snac(tvbuff_t *tvb, packet_info *pinfo,
const aim_subtype *subtype;
proto_tree *family_tree = NULL;
const aim_family *family;
+ void* pd_save;
orig_offset = offset;
family_id = tvb_get_ntohs(tvb, offset);
@@ -846,6 +847,7 @@ static void dissect_aim_snac(tvbuff_t *tvb, packet_info *pinfo,
aiminfo.tcpinfo = pinfo->private_data;
aiminfo.family = family_id;
aiminfo.subtype = subtype_id;
+ pd_save = pinfo->private_data;
pinfo->private_data = &aiminfo;
if (check_col(pinfo->cinfo, COL_PROTOCOL) && family) {
@@ -876,6 +878,7 @@ static void dissect_aim_snac(tvbuff_t *tvb, packet_info *pinfo,
if(tvb_length_remaining(tvb, offset) > 0 && subtype && subtype->dissector) {
subtype->dissector(subtvb, pinfo, family_tree);
}
+ pinfo->private_data = pd_save;
}
static void dissect_aim_flap_err(tvbuff_t *tvb, packet_info *pinfo,