diff options
Diffstat (limited to 'source3/smbd/reply.c')
-rw-r--r-- | source3/smbd/reply.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 82ac230764..15e8e9537e 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -671,7 +671,7 @@ reply to a session setup command int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize) { - uint16 sess_vuid; + int sess_vuid; gid_t gid; uid_t uid; int smb_bufsize; @@ -1037,6 +1037,11 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf,int to a uid can get through without a password, on the same VC */ sess_vuid = register_vuid(uid,gid,user,current_user_info.smb_name,domain,guest); + + if (sess_vuid == -1) { + return(ERROR(ERRDOS,ERRnoaccess)); + } + SSVAL(outbuf,smb_uid,sess_vuid); SSVAL(inbuf,smb_uid,sess_vuid); |