diff options
Diffstat (limited to 'source3/rpc_server/srv_winreg_nt.c')
-rw-r--r-- | source3/rpc_server/srv_winreg_nt.c | 13 |
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; } |