aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Lamping <ulf.lamping@web.de>2006-05-05 19:31:23 +0000
committerUlf Lamping <ulf.lamping@web.de>2006-05-05 19:31:23 +0000
commit758e24c81d4135d5fe488150bfb60ca306133717 (patch)
treefee90bd038297fe380d7aaf30c1755303fad1b5e
parentcf17ccd7ac4585cb19d2b634a2c166d688c677cf (diff)
fix dissection of IDispatch Invoke dissection, if rgdispidNamedArgs array isn't NULL
svn path=/trunk/; revision=18096
-rw-r--r--epan/dissectors/packet-dcom-dispatch.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/epan/dissectors/packet-dcom-dispatch.c b/epan/dissectors/packet-dcom-dispatch.c
index 95a5f9b36e..b6a8ae65e8 100644
--- a/epan/dissectors/packet-dcom-dispatch.c
+++ b/epan/dissectors/packet-dcom-dispatch.c
@@ -364,16 +364,10 @@ dissect_IDispatch_Invoke_rqst(tvbuff_t *tvb, int offset,
if (u32Pointer2) {
offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, dispparams_tree, drep,
&u32ArraySize);
- u32VariableOffset = offset + u32ArraySize * 4;
while(u32ArraySize--) {
- u32VariableOffset = dissect_dcom_dcerpc_pointer(tvb, u32VariableOffset, pinfo, dispparams_tree, drep,
- &u32Pointer);
- if (u32Pointer) {
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, drep,
- hf_dispatch_id, &u32DispIdMember);
- }
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, dispparams_tree, drep,
+ hf_dispatch_id, &u32DispIdMember);
}
- offset = u32VariableOffset;
}
proto_item_append_text(dispparams_item, ", Args: %u NamedArgs: %u", u32Args, u32NamedArgs);