[SCM] Samba Shared Repository - branch master updated

Matthias Dieter Wallnöfer mdw at samba.org
Fri Nov 27 15:23:50 MST 2009


The branch, master has been updated
       via  f7c28db... s4:WINREG RPC server - add another "talloc_unlink" in "DeleteKey"
       via  6f7cfb0... s4:WINREG RPC server - Reintroduce the free operation on "CloseKey"
      from  8f6df5d... s4-smbtorture: more and stricter tests for printer and data keys in RPC-SPOOLSS.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit f7c28db475261fa859e8f1888a629ced6c447c60
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date:   Wed Nov 18 08:48:30 2009 +0100

    s4:WINREG RPC server - add another "talloc_unlink" in "DeleteKey"
    
    Also here we waste memory - therefore free the pointless handle after the delete.

commit 6f7cfb0e10a1967a59ff18221bd9941edcbc8790
Author: Matthias Dieter Wallnöfer <mwallnoefer at yahoo.de>
Date:   Wed Nov 18 10:24:09 2009 +0100

    s4:WINREG RPC server - Reintroduce the free operation on "CloseKey"
    
    Better use "talloc_unlink" here Since we could have more than one reference.

-----------------------------------------------------------------------

Summary of changes:
 source4/rpc_server/winreg/rpc_winreg.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c
index 86617a6..13c311c 100644
--- a/source4/rpc_server/winreg/rpc_winreg.c
+++ b/source4/rpc_server/winreg/rpc_winreg.c
@@ -98,6 +98,8 @@ static WERROR dcesrv_winreg_CloseKey(struct dcesrv_call_state *dce_call,
 
 	DCESRV_PULL_HANDLE_FAULT(h, r->in.handle, HTYPE_REGKEY);
 
+	talloc_unlink(dce_call->context, h);
+
 	ZERO_STRUCTP(r->out.handle);
 
 	return WERR_OK;
@@ -164,6 +166,7 @@ static WERROR dcesrv_winreg_DeleteKey(struct dcesrv_call_state *dce_call,
 {
 	struct dcesrv_handle *h;
 	struct registry_key *key;
+	WERROR result;
 
 	DCESRV_PULL_HANDLE_FAULT(h, r->in.handle, HTYPE_REGKEY);
 	key = h->data;
@@ -172,7 +175,10 @@ static WERROR dcesrv_winreg_DeleteKey(struct dcesrv_call_state *dce_call,
 	{
 	case SECURITY_SYSTEM:
 	case SECURITY_ADMINISTRATOR:
-		return reg_key_del(key, r->in.key.name);
+		result = reg_key_del(key, r->in.key.name);
+		talloc_unlink(dce_call->context, h);
+
+		return result;
 	default:
 		return WERR_ACCESS_DENIED;
 	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list