packet-smb2: pass smb2_info via private_data
authorGregor Beck <gbeck@sernet.de>
Thu, 20 Sep 2012 07:21:41 +0000 (09:21 +0200)
committerStefan Metzmacher <metze@samba.org>
Wed, 29 Jan 2014 08:18:25 +0000 (09:18 +0100)
epan/dissectors/packet-smb2.c

index 121d40311e6ea96f5fb397c678abbd9b675b9bbd..f5434be335d64c1aa2b4f162c84510c9d58db8c8 100644 (file)
@@ -6945,6 +6945,7 @@ dissect_smb2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, gboolea
        guint32              open_frame,close_frame;
        smb2_eo_file_info_t *eo_file_info;
        e_ctx_hnd           *policy_hnd_hashtablekey;
+       void                *private_data_bak;
 
        sti = wmem_new(wmem_packet_scope(), smb2_transform_info_t);
        si  = wmem_new(wmem_packet_scope(), smb2_info_t);
@@ -6954,6 +6955,9 @@ dissect_smb2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, gboolea
        si->tree         = NULL;
        si->top_tree     = parent_tree;
 
+       private_data_bak = pinfo->private_data;
+       pinfo->private_data = si;
+
        if (tvb_get_guint8(tvb, 0) == 0xfd) {
                smb2_transform_header = TRUE;
                label = smb_transform_header_label;
@@ -7236,6 +7240,7 @@ dissect_smb2(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, gboolea
                offset   = dissect_smb2(next_tvb, pinfo, parent_tree, FALSE);
        }
 
+       pinfo->private_data = private_data_bak;
        return offset;
 }