1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-26 10:04:02 +03:00

r19780: Ok, regkey_open_internal needs a regkey_close_internal. Giving a talloc ctx is

misleading here. This needs fixing properly :-)

Volker
(This used to be commit f808182346aa16bb2f3a9383e28d318099a5e14e)
This commit is contained in:
Volker Lendecke 2006-11-19 11:11:01 +00:00 committed by Gerald (Jerry) Carter
parent 76b320c8df
commit bfad442144
4 changed files with 17 additions and 22 deletions

View File

@ -345,8 +345,7 @@ BOOL regkey_access_check( REGISTRY_KEY *key, uint32 requested, uint32 *granted,
/***********************************************************************
***********************************************************************/
WERROR regkey_open_internal( TALLOC_CTX *mem_ctx,
REGISTRY_KEY **regkey, const char *path,
WERROR regkey_open_internal( REGISTRY_KEY **regkey, const char *path,
NT_USER_TOKEN *token, uint32 access_desired )
{
WERROR result = WERR_OK;
@ -359,7 +358,7 @@ WERROR regkey_open_internal( TALLOC_CTX *mem_ctx,
DEBUG(7,("regkey_open_internal: name = [%s]\n", path));
if ( !(*regkey = TALLOC_ZERO_P(mem_ctx, REGISTRY_KEY)) ) {
if ( !(*regkey = TALLOC_ZERO_P(NULL, REGISTRY_KEY)) ) {
regdb_close();
return WERR_NOMEM;
}

View File

@ -411,8 +411,9 @@ static BOOL sync_eventlog_params( EVENTLOG_INFO *info )
pstr_sprintf( path, "%s/%s", KEY_EVENTLOG, elogname );
wresult = regkey_open_internal(
NULL, &keyinfo, path, get_root_nt_token(), REG_KEY_READ );
wresult =
regkey_open_internal( &keyinfo, path, get_root_nt_token( ),
REG_KEY_READ );
if ( !W_ERROR_IS_OK( wresult ) ) {
DEBUG( 4,

View File

@ -86,9 +86,7 @@ static WERROR open_registry_key( pipes_struct *p, POLICY_HND *hnd,
/* now do the internal open */
result = regkey_open_internal( NULL, keyinfo, keypath,
p->pipe_user.nt_user_token,
access_desired );
result = regkey_open_internal( keyinfo, keypath, p->pipe_user.nt_user_token, access_desired );
if ( !W_ERROR_IS_OK(result) )
return result;

View File

@ -322,8 +322,8 @@ static void add_new_svc_name( REGISTRY_KEY *key_parent, REGSUBKEY_CTR *subkeys,
/* open the new service key */
pstr_sprintf( path, "%s\\%s", KEY_SERVICES, name );
wresult = regkey_open_internal( NULL, &key_service, path,
get_root_nt_token(), REG_KEY_ALL );
wresult = regkey_open_internal( &key_service, path, get_root_nt_token(),
REG_KEY_ALL );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("add_new_svc_name: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));
@ -360,8 +360,8 @@ static void add_new_svc_name( REGISTRY_KEY *key_parent, REGSUBKEY_CTR *subkeys,
/* now add the security descriptor */
pstr_sprintf( path, "%s\\%s\\%s", KEY_SERVICES, name, "Security" );
wresult = regkey_open_internal( NULL, &key_secdesc, path,
get_root_nt_token(), REG_KEY_ALL );
wresult = regkey_open_internal( &key_secdesc, path, get_root_nt_token(),
REG_KEY_ALL );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("add_new_svc_name: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));
@ -412,8 +412,8 @@ void svcctl_init_keys( void )
/* bad mojo here if the lookup failed. Should not happen */
wresult = regkey_open_internal( NULL, &key, KEY_SERVICES,
get_root_nt_token(), REG_KEY_ALL );
wresult = regkey_open_internal( &key, KEY_SERVICES, get_root_nt_token(),
REG_KEY_ALL );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("init_services_keys: key lookup failed! (%s)\n",
@ -476,7 +476,7 @@ SEC_DESC* svcctl_get_secdesc( TALLOC_CTX *ctx, const char *name, NT_USER_TOKEN *
/* now add the security descriptor */
pstr_sprintf( path, "%s\\%s\\%s", KEY_SERVICES, name, "Security" );
wresult = regkey_open_internal( NULL, &key, path, token, REG_KEY_ALL );
wresult = regkey_open_internal( &key, path, token, REG_KEY_ALL );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("svcctl_get_secdesc: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));
@ -535,7 +535,7 @@ BOOL svcctl_set_secdesc( TALLOC_CTX *ctx, const char *name, SEC_DESC *sec_desc,
/* now add the security descriptor */
pstr_sprintf( path, "%s\\%s\\%s", KEY_SERVICES, name, "Security" );
wresult = regkey_open_internal( NULL, &key, path, token, REG_KEY_ALL );
wresult = regkey_open_internal( &key, path, token, REG_KEY_ALL );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("svcctl_get_secdesc: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));
@ -581,8 +581,7 @@ char* svcctl_lookup_dispname( const char *name, NT_USER_TOKEN *token )
/* now add the security descriptor */
pstr_sprintf( path, "%s\\%s", KEY_SERVICES, name );
wresult = regkey_open_internal( NULL, &key, path, token,
REG_KEY_READ );
wresult = regkey_open_internal( &key, path, token, REG_KEY_READ );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("svcctl_lookup_dispname: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));
@ -628,8 +627,7 @@ char* svcctl_lookup_description( const char *name, NT_USER_TOKEN *token )
/* now add the security descriptor */
pstr_sprintf( path, "%s\\%s", KEY_SERVICES, name );
wresult = regkey_open_internal( NULL, &key, path, token,
REG_KEY_READ );
wresult = regkey_open_internal( &key, path, token, REG_KEY_READ );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("svcctl_lookup_dispname: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));
@ -668,8 +666,7 @@ REGVAL_CTR* svcctl_fetch_regvalues( const char *name, NT_USER_TOKEN *token )
/* now add the security descriptor */
pstr_sprintf( path, "%s\\%s", KEY_SERVICES, name );
wresult = regkey_open_internal( NULL, &key, path, token,
REG_KEY_READ );
wresult = regkey_open_internal( &key, path, token, REG_KEY_READ );
if ( !W_ERROR_IS_OK(wresult) ) {
DEBUG(0,("svcctl_fetch_regvalues: key lookup failed! [%s] (%s)\n",
path, dos_errstr(wresult)));