Message ID | 20210706120501.28776-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [next] ksmbd: Fix read on the uninitialized pointer sess | expand |
Hi Colin, 2021-07-06 21:05 GMT+09:00, Colin King <colin.king@canonical.com>: > From: Colin Ian King <colin.king@canonical.com> > > There is a error handling case that passes control to label out_err > without pointer sess being assigned a value. The unassigned pointer > may be any garbage value and so the test of rc < 0 && sess maybe > true leading to sess being passed to the call to ksmbd_session_destroy. > Fix this by setting sess to NULL in this corner case. > > Addresses-Coverity: ("Uninitialized pointer read") > Fixes: f5a544e3bab7 ("ksmbd: add support for SMB3 multichannel") > Signed-off-by: Colin Ian King <colin.king@canonical.com> I will apply this patch. Thanks for your patch!
diff --git a/fs/ksmbd/smb2pdu.c b/fs/ksmbd/smb2pdu.c index dda90812feef..ad976dbbb0b6 100644 --- a/fs/ksmbd/smb2pdu.c +++ b/fs/ksmbd/smb2pdu.c @@ -1615,6 +1615,7 @@ int smb2_sess_setup(struct ksmbd_work *work) } else if ((conn->dialect < SMB30_PROT_ID || server_conf.flags & KSMBD_GLOBAL_FLAG_SMB3_MULTICHANNEL) && (req->Flags & SMB2_SESSION_REQ_FLAG_BINDING)) { + sess = NULL; rc = -EACCES; goto out_err; } else {