linux/fs/cifs
Len Baker 6c4857203f CIFS: Fix a potencially linear read overflow
[ Upstream commit f980d055a0 ]

strlcpy() reads the entire source buffer first. This read may exceed the
destination size limit. This is both inefficient and can lead to linear
read overflows if a source string is not NUL-terminated.

Also, the strnlen() call does not avoid the read overflow in the strlcpy
function when a not NUL-terminated string is passed.

So, replace this block by a call to kstrndup() that avoids this type of
overflow and does the same.

Fixes: 066ce68994 ("cifs: rename cifs_strlcpy_to_host and make it use new functions")
Signed-off-by: Len Baker <len.baker@gmx.com>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-09-15 09:50:43 +02:00
..
asn1.c
cache.c
cifs_debug.c
cifs_debug.h
cifs_dfs_ref.c cifs: prevent NULL deref in cifs_compose_mount_options() 2021-07-25 14:36:17 +02:00
cifs_fs_sb.h
cifs_ioctl.h
cifs_spnego.c
cifs_spnego.h
cifs_unicode.c CIFS: Fix a potencially linear read overflow 2021-09-15 09:50:43 +02:00
cifs_unicode.h
cifs_uniupr.h
cifsacl.c
cifsacl.h
cifsencrypt.c
cifsfs.c cifs: return proper error code in statfs(2) 2021-03-17 17:06:13 +01:00
cifsfs.h
cifsglob.h cifs: fix missing spinlock around update to ses->status 2021-07-14 16:56:01 +02:00
cifspdu.h cifs: Adjust key sizes and key generation routines for AES256 encryption 2021-03-30 14:32:07 +02:00
cifsproto.h
cifsroot.c
cifssmb.c
connect.c cifs: handle reconnect of tcon when there is no cached dfs referral 2021-07-20 16:05:35 +02:00
dfs_cache.c
dfs_cache.h
dir.c
dns_resolve.c
dns_resolve.h
export.c
file.c SMB3: fix readpage for large swap cache 2021-08-04 12:46:45 +02:00
fs_context.c
fs_context.h
fscache.c
fscache.h
inode.c new helper: inode_wrong_type() 2021-09-08 08:49:01 +02:00
ioctl.c
Kconfig
link.c
Makefile
misc.c
netmisc.c
nterr.c
nterr.h
ntlmssp.h
readdir.c
rfc1002pdu.h
sess.c smb3: do not attempt multichannel to server which does not support it 2021-05-11 14:47:37 +02:00
smb1ops.c
smb2file.c
smb2glob.h cifs: Adjust key sizes and key generation routines for AES256 encryption 2021-03-30 14:32:07 +02:00
smb2inode.c cifs: do not send close in compound create+close requests 2021-03-17 17:06:28 +01:00
smb2maperror.c
smb2misc.c cifs: Silently ignore unknown oplock break handle 2021-04-10 13:36:10 +02:00
smb2ops.c smb3: rc uninitialized in one fallocate path 2021-08-12 13:22:20 +02:00
smb2pdu.c cifs: create sd context must be a multiple of 8 2021-08-18 08:59:06 +02:00
smb2pdu.h
smb2proto.h cifs: do not send close in compound create+close requests 2021-03-17 17:06:28 +01:00
smb2status.h
smb2transport.c cifs: Adjust key sizes and key generation routines for AES256 encryption 2021-03-30 14:32:07 +02:00
smbdirect.c
smbdirect.h
smbencrypt.c
smberr.h
smbfsctl.h
trace.c
trace.h
transport.c cifs: change noisy error message to FYI 2021-03-30 14:31:50 +02:00
winucase.c
xattr.c