summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2006-11-19 11:11:01 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:15:55 -0500
commitbfad4421449d7f49287b1ebe81bf572c271f8fca (patch)
tree5371fffd1d7201e556f0255412144164bcc25cc1
parent76b320c8dfedf9912f0f22a662d765510acb5054 (diff)
downloadsamba-bfad4421449d7f49287b1ebe81bf572c271f8fca.tar.gz
samba-bfad4421449d7f49287b1ebe81bf572c271f8fca.tar.bz2
samba-bfad4421449d7f49287b1ebe81bf572c271f8fca.zip
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)
-rw-r--r--source3/registry/reg_frontend.c5
-rw-r--r--source3/rpc_server/srv_eventlog_nt.c5
-rw-r--r--source3/rpc_server/srv_winreg_nt.c4
-rw-r--r--source3/services/services_db.c25
4 files changed, 17 insertions, 22 deletions
diff --git a/source3/registry/reg_frontend.c b/source3/registry/reg_frontend.c
index d79e75b995..ed49cc998c 100644
--- a/source3/registry/reg_frontend.c
+++ b/source3/registry/reg_frontend.c
@@ -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;
}
diff --git a/source3/rpc_server/srv_eventlog_nt.c b/source3/rpc_server/srv_eventlog_nt.c
index ba366ed983..ec07981de9 100644
--- a/source3/rpc_server/srv_eventlog_nt.c
+++ b/source3/rpc_server/srv_eventlog_nt.c
@@ -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,
diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c
index ebf825b684..1a130f19b6 100644
--- a/source3/rpc_server/srv_winreg_nt.c
+++ b/source3/rpc_server/srv_winreg_nt.c
@@ -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;
diff --git a/source3/services/services_db.c b/source3/services/services_db.c
index 7573d3ba2d..5b4f58d766 100644
--- a/source3/services/services_db.c
+++ b/source3/services/services_db.c
@@ -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)));