summaryrefslogtreecommitdiffstats
path: root/source3/smbd/share_access.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-10-20 07:20:39 +0200
committerVolker Lendecke <vl@samba.org>2012-10-20 07:21:26 +0200
commit75724d9eb14cd288297f3f5228fb3d10a11861dc (patch)
treee02e841decd220fdefdc5838fc00b6fb13a6ce66 /source3/smbd/share_access.c
parent96356219d662614cbc926d6c2dc4345f0ac432ce (diff)
downloadsamba-75724d9eb14cd288297f3f5228fb3d10a11861dc.tar.gz
samba-75724d9eb14cd288297f3f5228fb3d10a11861dc.tar.xz
samba-75724d9eb14cd288297f3f5228fb3d10a11861dc.zip
s3: Use talloc_stackframe in token_contains_name_in_list
Diffstat (limited to 'source3/smbd/share_access.c')
-rw-r--r--source3/smbd/share_access.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/source3/smbd/share_access.c b/source3/smbd/share_access.c
index 7087a985a97..aa3bd3965cb 100644
--- a/source3/smbd/share_access.c
+++ b/source3/smbd/share_access.c
@@ -162,26 +162,21 @@ bool token_contains_name_in_list(const char *username,
const struct security_token *token,
const char **list)
{
- TALLOC_CTX *mem_ctx;
-
if (list == NULL) {
return False;
}
-
- if ( (mem_ctx = talloc_new(NULL)) == NULL ) {
- smb_panic("talloc_new failed");
- }
-
while (*list != NULL) {
- if (token_contains_name(mem_ctx, username, domain, sharename,
- token, *list)) {
- TALLOC_FREE(mem_ctx);
- return True;
+ TALLOC_CTX *frame = talloc_stackframe();
+ bool ret;
+
+ ret = token_contains_name(frame, username, domain, sharename,
+ token, *list);
+ TALLOC_FREE(frame);
+ if (ret) {
+ return true;
}
list += 1;
}
-
- TALLOC_FREE(mem_ctx);
return False;
}