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:
Родитель
a6a5fa7780
Коммит
152de8c68d
|
@ -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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче