cifsd: fix Control flow issues in ksmbd_build_ntlmssp_challenge_blob()

Fix a defect reported by Coverity Scan.

*** CID 1504970:  Control flow issues  (NO_EFFECT)
/fs/cifsd/auth.c: 622 in ksmbd_build_ntlmssp_challenge_blob()
616             name = kmalloc(2 + UNICODE_LEN(len), GFP_KERNEL);
617             if (!name)
618                     return -ENOMEM;
619
620             conv_len = smb_strtoUTF16((__le16 *)name,
ksmbd_netbios_name(), len,
621                                       sess->conn->local_nls);
>>>     CID 1504970:  Control flow issues  (NO_EFFECT)
>>>     This less-than-zero comparison of an unsigned value is never true.
622             if (conv_len < 0 || conv_len > len) {
623                     kfree(name);
624                     return -EINVAL;
625             }
626
627             uni_len = UNICODE_LEN(conv_len);

Reported-by: Coverity Scan <scan-admin@coverity.com>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
Namjae Jeon 2021-05-29 07:59:40 +09:00
Родитель a6a5fa7780
Коммит 152de8c68d
1 изменённых файлов: 2 добавлений и 2 удалений

Просмотреть файл

@ -584,8 +584,8 @@ ksmbd_build_ntlmssp_challenge_blob(struct challenge_message *chgblob,
struct target_info *tinfo; struct target_info *tinfo;
wchar_t *name; wchar_t *name;
__u8 *target_name; __u8 *target_name;
unsigned int len, flags, blob_off, blob_len, type, target_info_len = 0; unsigned int flags, blob_off, blob_len, type, target_info_len = 0;
unsigned int uni_len, conv_len; int len, uni_len, conv_len;
int cflags = sess->ntlmssp.client_flags; int cflags = sess->ntlmssp.client_flags;
memcpy(chgblob->Signature, NTLMSSP_SIGNATURE, 8); memcpy(chgblob->Signature, NTLMSSP_SIGNATURE, 8);