aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dcerpc-nt.c
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2007-05-07 19:21:37 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2007-05-07 19:21:37 +0000
commit81d63bf70fbb9c7f316292423ef14b661442931b (patch)
treed5e9bc4b8cb9befb23d063158e4bc8091c79f3c6 /epan/dissectors/packet-dcerpc-nt.c
parentf395817475190d402938433af6dbfb7ac6b28070 (diff)
when creating a policy handle, use the string stored in dcv if
available as the name of the handle This means we can show policy handles like OpenKey(/a/b/c/d) instead of OpenKey(<...>) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21719 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-dcerpc-nt.c')
-rw-r--r--epan/dissectors/packet-dcerpc-nt.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/epan/dissectors/packet-dcerpc-nt.c b/epan/dissectors/packet-dcerpc-nt.c
index 09e9161d75..ebae197a04 100644
--- a/epan/dissectors/packet-dcerpc-nt.c
+++ b/epan/dissectors/packet-dcerpc-nt.c
@@ -963,10 +963,17 @@ PIDL_dissect_policy_hnd(tvbuff_t *tvb, gint offset, packet_info *pinfo,
if((param&PIDL_POLHND_OPEN)
&& !pinfo->fd->flags.visited
&& !di->conformant_run){
+ char *pol_string=NULL;
char *pol_name=NULL;
+ dcerpc_call_value *dcv;
- pol_name=ep_strdup_printf("%s(<...>)", pinfo->dcerpc_procedure_name);
- dcerpc_smb_store_pol_name(&policy_hnd, pinfo, pol_name);
+ dcv = (dcerpc_call_value *)di->call_data;
+ pol_name = dcv->private_data;
+ if(!pol_name){
+ pol_name="<...>";
+ }
+ pol_string=ep_strdup_printf("%s(%s)", pinfo->dcerpc_procedure_name, pol_name);
+ dcerpc_smb_store_pol_name(&policy_hnd, pinfo, pol_string);
}
return offset;
@@ -1121,11 +1128,9 @@ void cb_wstr_postprocess(packet_info *pinfo, proto_tree *tree _U_,
}
/* Save string to dcv->private_data */
-
if (options & CB_STR_SAVE) {
dcerpc_info *di = (dcerpc_info *)pinfo->private_data;
dcerpc_call_value *dcv = (dcerpc_call_value *)di->call_data;
-
dcv->private_data = s;
}
}