diff options
author | sahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-10-04 07:57:45 +0000 |
---|---|---|
committer | sahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-10-04 07:57:45 +0000 |
commit | 07da277d6c176958b28cadb72edee0055081e91e (patch) | |
tree | 6e12462b383a447ac8ce0e5f1bc1c83b0d2cd871 /epan/dissectors/packet-dcerpc-nt.c | |
parent | 10461de76023ce4e3f897fcd6462c4dc47fd802c (diff) |
update dissect_ndr_nt_PSID_ARRAY() to be ndr64 aware
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@30283 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-dcerpc-nt.c')
-rw-r--r-- | epan/dissectors/packet-dcerpc-nt.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dcerpc-nt.c b/epan/dissectors/packet-dcerpc-nt.c index 7a9c42f423..8888f74e1f 100644 --- a/epan/dissectors/packet-dcerpc-nt.c +++ b/epan/dissectors/packet-dcerpc-nt.c @@ -1572,6 +1572,7 @@ dissect_ndr_nt_PSID_ARRAY(tvbuff_t *tvb, int offset, guint32 count; proto_item *item=NULL; proto_tree *tree=NULL; + dcerpc_info *di = pinfo->private_data; int old_offset=offset; if(parent_tree){ @@ -1580,6 +1581,8 @@ dissect_ndr_nt_PSID_ARRAY(tvbuff_t *tvb, int offset, tree = proto_item_add_subtree(item, ett_nt_sid_array); } + ALIGN_TO_5_BYTES; + offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_nt_count, &count); offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, drep, @@ -1587,6 +1590,11 @@ dissect_ndr_nt_PSID_ARRAY(tvbuff_t *tvb, int offset, "PSID_ARRAY", -1); proto_item_set_len(item, offset-old_offset); + + if (di->call_data->flags & DCERPC_IS_NDR64) { + ALIGN_TO_5_BYTES; + } + return offset; } |