aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2007-03-22 22:41:16 +0000
committerUlf Lamping <ulf.lamping@web.de>2007-03-22 22:41:16 +0000
commit0f8dbb8dc26553cd6b9dd584ccc834437f1db28c (patch)
tree6a918e752ee5a5f26e259d0b44a79886fd8e93c1 /epan/dissectors
parent4c92cbef0e55187872b7308866e5da325f5a6a32 (diff)
downloadwireshark-0f8dbb8dc26553cd6b9dd584ccc834437f1db28c.tar.gz
wireshark-0f8dbb8dc26553cd6b9dd584ccc834437f1db28c.tar.bz2
wireshark-0f8dbb8dc26553cd6b9dd584ccc834437f1db28c.zip
correct multidimensional SAFEARRAYs
svn path=/trunk/; revision=21123
Diffstat (limited to 'epan/dissectors')
-rw-r--r--epan/dissectors/packet-dcom.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/epan/dissectors/packet-dcom.c b/epan/dissectors/packet-dcom.c
index da110bd3e9..45201530e8 100644
--- a/epan/dissectors/packet-dcom.c
+++ b/epan/dissectors/packet-dcom.c
@@ -1214,12 +1214,14 @@ dissect_dcom_SAFEARRAY(tvbuff_t *tvb, int offset, packet_info *pinfo,
hf_dcom_sa_vartype32, &u32VarType);
offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
hf_dcom_sa_elements, &u32Elements);
-
offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep, &u32Pointer);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
- hf_dcom_sa_bound_elements, &u32BoundElements);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
- hf_dcom_sa_low_bound, &u32LowBound);
+
+ while(u32Dims--) {
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ hf_dcom_sa_bound_elements, &u32BoundElements);
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ hf_dcom_sa_low_bound, &u32LowBound);
+ }
offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, sub_tree, drep, &u32ArraySize);