diff options
author | Jeremy Allison <jra@samba.org> | 2007-03-23 21:50:44 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:18:52 -0500 |
commit | 70eec7b8ae6a4992b43df853dffc21dd91498390 (patch) | |
tree | 6608bda32a697654d7d0dabfb1a17221b8ae3cdd /source | |
parent | ae5761ccc66b35b66ca4fa90aef02d8be1564737 (diff) | |
download | samba-70eec7b8ae6a4992b43df853dffc21dd91498390.tar.gz samba-70eec7b8ae6a4992b43df853dffc21dd91498390.tar.xz samba-70eec7b8ae6a4992b43df853dffc21dd91498390.zip |
r21953: One format fix, clarify a condition that the IBM
checker was worried about.
Jeremy.
Diffstat (limited to 'source')
-rw-r--r-- | source/lib/sysacls.c | 2 | ||||
-rw-r--r-- | source/smbd/service.c | 22 |
2 files changed, 21 insertions, 3 deletions
diff --git a/source/lib/sysacls.c b/source/lib/sysacls.c index d31c1870c34..dcd76407144 100644 --- a/source/lib/sysacls.c +++ b/source/lib/sysacls.c @@ -181,7 +181,7 @@ char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p) id = idbuf; } else { id = gr->gr_name; - } + } case SMB_ACL_GROUP_OBJ: tag = "group"; break; diff --git a/source/smbd/service.c b/source/smbd/service.c index c96bcea4e23..79c618e7b37 100644 --- a/source/smbd/service.c +++ b/source/smbd/service.c @@ -915,10 +915,28 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser, */ { + BOOL can_write = False; NT_USER_TOKEN *token = conn->nt_user_token ? - conn->nt_user_token : vuser->nt_user_token; + conn->nt_user_token : + (vuser ? vuser->nt_user_token : NULL); + + /* + * I don't believe this can happen. But the + * logic above is convoluted enough to confuse + * automated checkers, so be sure. JRA. + */ + + if (token == NULL) { + DEBUG(0,("make_connection: connection to %s " + "denied due to missing " + "NT token.\n", + lp_servicename(snum))); + conn_free(conn); + *status = NT_STATUS_ACCESS_DENIED; + return NULL; + } - BOOL can_write = share_access_check(token, + can_write = share_access_check(token, lp_servicename(snum), FILE_WRITE_DATA); |