summaryrefslogtreecommitdiff
path: root/source3/lib/sharesec.c
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2019-09-18 13:20:35 -0700
committerJeremy Allison <jra@samba.org>2019-11-26 21:28:31 +0000
commit1f304fc16c675f402c61f95601481e7a3e27db04 (patch)
tree65b9804b04d34d8835199bbe6eae1ccacededef0 /source3/lib/sharesec.c
parent6dfa5bb64fce1ddd054966bd89b07e43034c6edb (diff)
downloadsamba-1f304fc16c675f402c61f95601481e7a3e27db04.tar.gz
sharesec: Return NTSTATUS from set_share_security
Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/lib/sharesec.c')
-rw-r--r--source3/lib/sharesec.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/source3/lib/sharesec.c b/source3/lib/sharesec.c
index 2c752730f7a..1822cec3df2 100644
--- a/source3/lib/sharesec.c
+++ b/source3/lib/sharesec.c
@@ -357,16 +357,17 @@ struct security_descriptor *get_share_security( TALLOC_CTX *ctx, const char *ser
Store a security descriptor in the share db.
********************************************************************/
-bool set_share_security(const char *share_name, struct security_descriptor *psd)
+NTSTATUS set_share_security(const char *share_name,
+ struct security_descriptor *psd)
{
TALLOC_CTX *frame = talloc_stackframe();
char *key;
- bool ret = False;
TDB_DATA blob;
NTSTATUS status;
char *c_share_name = canonicalize_servicename(frame, share_name);
- if (!c_share_name) {
+ if (c_share_name == NULL) {
+ status = NT_STATUS_INVALID_PARAMETER;
goto out;
}
@@ -385,6 +386,7 @@ bool set_share_security(const char *share_name, struct security_descriptor *psd)
if (!(key = talloc_asprintf(frame, SHARE_SECURITY_DB_KEY_PREFIX_STR "%s", c_share_name))) {
DEBUG(0, ("talloc_asprintf failed\n"));
+ status = NT_STATUS_NO_MEMORY;
goto out;
}
@@ -397,11 +399,11 @@ bool set_share_security(const char *share_name, struct security_descriptor *psd)
}
DEBUG(5,("set_share_security: stored secdesc for %s\n", share_name ));
- ret = True;
+ status = NT_STATUS_OK;
out:
TALLOC_FREE(frame);
- return ret;
+ return status;
}
/*******************************************************************