summaryrefslogtreecommitdiffstats
path: root/source/lib
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2008-01-09 01:17:13 +0100
committerMichael Adam <obnox@samba.org>2008-01-09 01:47:10 +0100
commit9cd30fb25c42e79946b5140994d0bf2ef4c62f90 (patch)
treeca837a8f9c65d31d887b84fc8813bcb953711fae /source/lib
parented4dd00c5ae8e4995ace9326f915ae4bd15d96b3 (diff)
downloadsamba-9cd30fb25c42e79946b5140994d0bf2ef4c62f90.tar.gz
samba-9cd30fb25c42e79946b5140994d0bf2ef4c62f90.tar.xz
samba-9cd30fb25c42e79946b5140994d0bf2ef4c62f90.zip
Change registry_create_admin_token() to return NTSTATUS.
Michael
Diffstat (limited to 'source/lib')
-rw-r--r--source/lib/util_reg_smbconf.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/source/lib/util_reg_smbconf.c b/source/lib/util_reg_smbconf.c
index 5fb862ac354..6452b0b15bc 100644
--- a/source/lib/util_reg_smbconf.c
+++ b/source/lib/util_reg_smbconf.c
@@ -31,14 +31,20 @@ extern REGISTRY_OPS smbconf_reg_ops;
* - builtin administrators sid
* - disk operators privilege
*/
-NT_USER_TOKEN *registry_create_admin_token(TALLOC_CTX *mem_ctx)
+NTSTATUS registry_create_admin_token(TALLOC_CTX *mem_ctx,
+ NT_USER_TOKEN **ptoken)
{
NTSTATUS status;
NT_USER_TOKEN *token = NULL;
+ if (ptoken == NULL) {
+ return NT_STATUS_INVALID_PARAMETER;
+ }
+
token = TALLOC_ZERO_P(mem_ctx, NT_USER_TOKEN);
if (token == NULL) {
DEBUG(1, ("talloc failed\n"));
+ status = NT_STATUS_NO_MEMORY;
goto done;
}
token->privileges = se_disk_operators;
@@ -49,8 +55,11 @@ NT_USER_TOKEN *registry_create_admin_token(TALLOC_CTX *mem_ctx)
"to fake token.\n"));
goto done;
}
+
+ *ptoken = token;
+
done:
- return token;
+ return status;
}
/*