summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-dcom-remunkn.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-11-06 14:31:29 +0000
committerMichael Mann <mmann78@netscape.net>2013-11-06 14:31:29 +0000
commit22760b2d2a065249b21b7cf4be892aba71827279 (patch)
treed2806f1e93d9d29d1d042185340a27fd23eaf296 /epan/dissectors/packet-dcom-remunkn.c
parent440ac8370fae681dd2e55c669226720b12491481 (diff)
downloadwireshark-22760b2d2a065249b21b7cf4be892aba71827279.tar.gz
Remove pinfo->private_data from DCERPC dissectors and instead have dcerpc_info* infomation be passed in as a function parameter. Bug 9387 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9387)
All "generated" source was manually modified (with the power of search/replace), but I believe the "source input" files have been adjusted (checked into revs 53098 and 53099) to reflect the necessary changes (with possible whitespace formatting differences). The Microsoft compiler doesn't flag "unused function parameters", so I apologize in advance if I may have missed a few. The "dcerpc_info* di" parameter is used in almost every function. svn path=/trunk/; revision=53100
Diffstat (limited to 'epan/dissectors/packet-dcom-remunkn.c')
-rw-r--r--epan/dissectors/packet-dcom-remunkn.c50
1 files changed, 24 insertions, 26 deletions
diff --git a/epan/dissectors/packet-dcom-remunkn.c b/epan/dissectors/packet-dcom-remunkn.c
index b076ada56f..40bd1ebfa4 100644
--- a/epan/dissectors/packet-dcom-remunkn.c
+++ b/epan/dissectors/packet-dcom-remunkn.c
@@ -81,7 +81,7 @@ typedef struct remunk_remqueryinterface_call_s {
static int
dissect_remunk_remqueryinterface_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
e_uuid_t ipid;
guint32 u32Refs;
@@ -89,22 +89,21 @@ dissect_remunk_remqueryinterface_rqst(tvbuff_t *tvb, int offset,
guint32 u32ArraySize;
guint32 u32ItemIdx;
e_uuid_t iid;
- dcerpc_info *info = (dcerpc_info *) pinfo->private_data;
remunk_remqueryinterface_call_t *call;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_UUID(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_UUID(tvb, offset, pinfo, tree, di, drep,
hf_dcom_ipid, &ipid);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_remunk_refs, &u32Refs);
- offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_WORD(tvb, offset, pinfo, tree, di, drep,
hf_remunk_iids, &u16IIDs);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
/* limit the allocation to a reasonable size */
@@ -112,13 +111,13 @@ dissect_remunk_remqueryinterface_rqst(tvbuff_t *tvb, int offset,
call = (remunk_remqueryinterface_call_t *)wmem_alloc(wmem_file_scope(), sizeof(remunk_remqueryinterface_call_t) + u32ArraySize * sizeof(e_uuid_t));
call->iid_count = u32ArraySize;
call->iids = (e_uuid_t *) (call+1);
- info->call_data->private_data = call;
+ di->call_data->private_data = call;
} else {
call = NULL;
}
for (u32ItemIdx = 0; u32ArraySize--; u32ItemIdx++) {
- offset = dissect_dcom_append_UUID(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_append_UUID(tvb, offset, pinfo, tree, di, drep,
hf_dcom_iid, u32ItemIdx+1, &iid);
if(call != NULL) {
call->iids[u32ItemIdx] = iid;
@@ -131,7 +130,7 @@ dissect_remunk_remqueryinterface_rqst(tvbuff_t *tvb, int offset,
static int
dissect_remunk_remqueryinterface_resp(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32ArraySize;
@@ -142,18 +141,17 @@ dissect_remunk_remqueryinterface_resp(tvbuff_t *tvb, int offset,
guint32 u32SubStart;
e_uuid_t iid;
e_uuid_t iid_null = DCERPC_UUID_NULL;
- dcerpc_info *info = (dcerpc_info *) pinfo->private_data;
- remunk_remqueryinterface_call_t *call = (remunk_remqueryinterface_call_t *)info->call_data->private_data;
+ remunk_remqueryinterface_call_t *call = (remunk_remqueryinterface_call_t *)di->call_data->private_data;
guint64 oxid;
guint64 oid;
e_uuid_t ipid;
- offset = dissect_dcom_that(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_that(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
- offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_array_size(tvb, offset, pinfo, tree, di, drep,
&u32ArraySize);
u32ItemIdx = 1;
@@ -163,10 +161,10 @@ dissect_remunk_remqueryinterface_resp(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_remunk_rqi_result);
/* REMQIRESULT */
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, sub_tree, di, drep,
&u32HResult);
u32SubStart = offset - 4;
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, sub_tree, di, drep,
&u32Pointer);
/* try to read the iid from the request */
@@ -178,7 +176,7 @@ dissect_remunk_remqueryinterface_resp(tvbuff_t *tvb, int offset,
/* XXX - this doesn't seem to be dependent on the pointer above?!? */
/*if (u32Pointer) {*/
- offset = dissect_dcom_STDOBJREF(tvb, offset, pinfo, sub_tree, drep, 0 /* hfindex */,
+ offset = dissect_dcom_STDOBJREF(tvb, offset, pinfo, sub_tree, di, drep, 0 /* hfindex */,
&oxid, &oid, &ipid);
/*}*/
@@ -203,7 +201,7 @@ dissect_remunk_remqueryinterface_resp(tvbuff_t *tvb, int offset,
}
/* HRESULT of call */
- offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_HRESULT(tvb, offset, pinfo, tree, di, drep,
&u32HResult);
/* update column info now */
@@ -216,7 +214,7 @@ dissect_remunk_remqueryinterface_resp(tvbuff_t *tvb, int offset,
static int
dissect_remunk_remrelease_rqst(tvbuff_t *tvb, int offset,
- packet_info *pinfo, proto_tree *tree, guint8 *drep)
+ packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
{
guint32 u32Pointer;
guint32 u32IntRefs;
@@ -230,12 +228,12 @@ dissect_remunk_remrelease_rqst(tvbuff_t *tvb, int offset,
guint32 u32SubStart;
- offset = dissect_dcom_this(tvb, offset, pinfo, tree, drep);
+ offset = dissect_dcom_this(tvb, offset, pinfo, tree, di, drep);
- offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_dcerpc_pointer(tvb, offset, pinfo, tree, di, drep,
&u32Pointer);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, tree, di, drep,
hf_remunk_interface_refs, &u32IntRefs);
/* update column info now */
@@ -253,13 +251,13 @@ dissect_remunk_remrelease_rqst(tvbuff_t *tvb, int offset,
sub_tree = proto_item_add_subtree(sub_item, ett_remunk_reminterfaceref);
u32SubStart = offset;
- offset = dissect_dcom_UUID(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_UUID(tvb, offset, pinfo, sub_tree, di, drep,
hf_dcom_ipid, &ipid);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_remunk_public_refs, &u32PublicRefs);
- offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, drep,
+ offset = dissect_dcom_DWORD(tvb, offset, pinfo, sub_tree, di, drep,
hf_remunk_private_refs, &u32PrivateRefs);
/* update subtree */