aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-smb2.c
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2009-10-04 08:27:17 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2009-10-04 08:27:17 +0000
commit0c00fbe644d47971bb9a9bd8d5c00ade3ccad9cb (patch)
tree3f6533afc107eb7d82fee6f49c9bd33896d30273 /epan/dissectors/packet-smb2.c
parent337f820d3c1455ce2545a5fa8a164e5ce03ffb92 (diff)
we must create a fake dcerpc_call_value strucure before we call into the
dcerpc helpers svn path=/trunk/; revision=30288
Diffstat (limited to 'epan/dissectors/packet-smb2.c')
-rw-r--r--epan/dissectors/packet-smb2.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/epan/dissectors/packet-smb2.c b/epan/dissectors/packet-smb2.c
index 42f5170488..98579ae8f4 100644
--- a/epan/dissectors/packet-smb2.c
+++ b/epan/dissectors/packet-smb2.c
@@ -997,7 +997,8 @@ static int
dissect_smb2_fid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, smb2_info_t *si, int mode)
{
guint8 drep[4] = { 0x10, 0x00, 0x00, 0x00}; /* fake DREP struct */
- dcerpc_info di; /* fake dcerpc_info struct */
+ static dcerpc_info di; /* fake dcerpc_info struct */
+ static dcerpc_call_value call_data;
void *old_private_data;
e_ctx_hnd policy_hnd;
proto_item *hnd_item=NULL;
@@ -1005,7 +1006,8 @@ dissect_smb2_fid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset
guint32 open_frame = 0, close_frame = 0;
di.conformant_run=0;
- di.call_data=NULL;
+ /* we need di->call_data->flags.NDR64 == 0 */
+ di.call_data=&call_data;
old_private_data=pinfo->private_data;
pinfo->private_data=&di;