summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_winreg_nt.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/rpc_server/srv_winreg_nt.c')
-rw-r--r--source3/rpc_server/srv_winreg_nt.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c
index 2b7bd41a62..4138d1f1fc 100644
--- a/source3/rpc_server/srv_winreg_nt.c
+++ b/source3/rpc_server/srv_winreg_nt.c
@@ -574,7 +574,10 @@ WERROR _winreg_GetVersion(pipes_struct *p, struct policy_handle *handle, uint32_
Implementation of REG_ENUM_KEY
****************************************************************************/
-WERROR _winreg_EnumKey(pipes_struct *p, struct policy_handle *handle, uint32_t enum_index, struct winreg_StringBuf *name, struct winreg_StringBuf *keyclass, NTTIME *last_changed_time)
+WERROR _winreg_EnumKey(pipes_struct *p, struct policy_handle *handle,
+ uint32_t enum_index, struct winreg_StringBuf *name,
+ struct winreg_StringBuf **keyclass,
+ NTTIME **last_changed_time)
{
WERROR status = WERR_OK;
struct regkey_info *info = find_regkey_info_by_hnd( p, handle );
@@ -613,10 +616,12 @@ WERROR _winreg_EnumKey(pipes_struct *p, struct policy_handle *handle, uint32_t e
p->mem_ctx, info->subkey_cache->subkeys[enum_index]))) {
status = WERR_NOMEM;
}
- if ( last_changed_time ) {
- *last_changed_time = 0;
+ if ( *last_changed_time ) {
+ **last_changed_time = 0;
+ }
+ if ( *keyclass ) {
+ (*keyclass)->name = "";
}
- keyclass->name = "";
return status;
}