diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2007-03-22 22:41:16 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2007-03-22 22:41:16 +0000 |
commit | 0f8dbb8dc26553cd6b9dd584ccc834437f1db28c (patch) | |
tree | 6a918e752ee5a5f26e259d0b44a79886fd8e93c1 /epan/dissectors | |
parent | 4c92cbef0e55187872b7308866e5da325f5a6a32 (diff) | |
download | wireshark-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.c | 12 |
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); |