From f7c28db475261fa859e8f1888a629ced6c447c60 Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Wed, 18 Nov 2009 08:48:30 +0100 Subject: s4:WINREG RPC server - add another "talloc_unlink" in "DeleteKey" Also here we waste memory - therefore free the pointless handle after the delete. --- source4/rpc_server/winreg/rpc_winreg.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'source4/rpc_server/winreg/rpc_winreg.c') diff --git a/source4/rpc_server/winreg/rpc_winreg.c b/source4/rpc_server/winreg/rpc_winreg.c index ba619c02f7..13c311cd96 100644 --- a/source4/rpc_server/winreg/rpc_winreg.c +++ b/source4/rpc_server/winreg/rpc_winreg.c @@ -166,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; @@ -174,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; } -- cgit