diff options
author | stig <stig@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-05-19 17:16:14 +0000 |
---|---|---|
committer | stig <stig@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-05-19 17:16:14 +0000 |
commit | 6ce6394a26aa87eb0b4b95ecd4725ef817a52612 (patch) | |
tree | c1f708812bd86cb9a2f2df53f0f5db677b603f40 /epan/dissectors/packet-aim.c | |
parent | e35b80409e2c1126a3470ef580f546d6c719bab5 (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.c | 3 |
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, |