From: Ralph Boehme Date: Mon, 6 Jan 2020 07:20:14 +0000 (+0100) Subject: smbd: use get_valid_smbXsrv_session() in invalidate_vuid() X-Git-Tag: ldb-2.1.0~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c3d22018679c6aa83c4a5ae3e480532a3f5eccca;p=thirdparty%2Fsamba.git smbd: use get_valid_smbXsrv_session() in invalidate_vuid() Signed-off-by: Ralph Boehme Reviewed-by: Jeremy Allison --- 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);