aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-nt.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2009-10-04 07:57:45 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2009-10-04 07:57:45 +0000
commit07da277d6c176958b28cadb72edee0055081e91e (patch)
tree6e12462b383a447ac8ce0e5f1bc1c83b0d2cd871 /epan/dissectors/packet-dcerpc-nt.c
parent10461de76023ce4e3f897fcd6462c4dc47fd802c (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.c8
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;
}