diff options
author | Ralph Boehme <slow@samba.org> | 2020-01-06 08:20:14 +0100 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2020-01-13 19:41:36 +0000 |
commit | c3d22018679c6aa83c4a5ae3e480532a3f5eccca (patch) | |
tree | 6440a8b8c1913eb94d6733d26ea69e36aa3543c7 /source3/smbd/password.c | |
parent | dd9735b1da73b6c27feda32230e3fc843746fd2b (diff) | |
download | samba-c3d22018679c6aa83c4a5ae3e480532a3f5eccca.tar.gz |
smbd: use get_valid_smbXsrv_session() in invalidate_vuid()
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/smbd/password.c')
-rw-r--r-- | source3/smbd/password.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/smbd/password.c b/source3/smbd/password.c index 41829e5793a..eb648731a83 100644 --- a/source3/smbd/password.c +++ b/source3/smbd/password.c @@ -87,6 +87,8 @@ struct user_struct *get_valid_user_struct(struct smbd_server_connection *sconn, void invalidate_vuid(struct smbd_server_connection *sconn, uint64_t vuid) { struct user_struct *vuser = NULL; + struct smbXsrv_session *session = NULL; + NTSTATUS status; vuser = get_valid_user_struct_internal(sconn, vuid, SERVER_ALLOCATED_REQUIRED_ANY); @@ -94,7 +96,12 @@ void invalidate_vuid(struct smbd_server_connection *sconn, uint64_t vuid) return; } - session_yield(vuser->session); + status = get_valid_smbXsrv_session(sconn->client, vuid, &session); + if (!NT_STATUS_IS_OK(status)) { + return; + } + + session_yield(session); DLIST_REMOVE(sconn->users, vuser); SMB_ASSERT(sconn->num_users > 0); |