diff options
author | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2009-10-04 08:27:17 +0000 |
---|---|---|
committer | Ronnie Sahlberg <ronnie_sahlberg@ozemail.com.au> | 2009-10-04 08:27:17 +0000 |
commit | 0c00fbe644d47971bb9a9bd8d5c00ade3ccad9cb (patch) | |
tree | 3f6533afc107eb7d82fee6f49c9bd33896d30273 /epan/dissectors/packet-smb2.c | |
parent | 337f820d3c1455ce2545a5fa8a164e5ce03ffb92 (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.c | 6 |
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; |