diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2009-05-19 17:16:14 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2009-05-19 17:16:14 +0000 |
commit | fc3f1b5283ffb77cf1135800a616b202904879d7 (patch) | |
tree | c1f708812bd86cb9a2f2df53f0f5db677b603f40 /epan/dissectors/packet-aim.c | |
parent | 79e537af335c1e3781ca23bb910fc11a30f36bcc (diff) |
From Artem Tamazov (bug 3472):
Save/Restore pinfo->private_data when used.
svn path=/trunk/; revision=28412
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, |