diff options
author | Ulf Lamping <ulf.lamping@web.de> | 2006-05-05 19:31:23 +0000 |
---|---|---|
committer | Ulf Lamping <ulf.lamping@web.de> | 2006-05-05 19:31:23 +0000 |
commit | 758e24c81d4135d5fe488150bfb60ca306133717 (patch) | |
tree | fee90bd038297fe380d7aaf30c1755303fad1b5e /epan/dissectors/packet-dcom-dispatch.c | |
parent | cf17ccd7ac4585cb19d2b634a2c166d688c677cf (diff) |
fix dissection of IDispatch Invoke dissection, if rgdispidNamedArgs array isn't NULL
svn path=/trunk/; revision=18096
Diffstat (limited to 'epan/dissectors/packet-dcom-dispatch.c')
-rw-r--r-- | epan/dissectors/packet-dcom-dispatch.c | 10 |
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); |