Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5c2a548 authored by Ronnie Sahlberg's avatar Ronnie Sahlberg Committed by Greg Kroah-Hartman
Browse files

cifs: check MaxPathNameComponentLength != 0 before using it



commit f74bc7c6679200a4a83156bb89cbf6c229fe8ec0 upstream.

And fix tcon leak in error path.

Signed-off-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: default avatarSteve French <smfrench@gmail.com>
Reviewed-by: default avatarDavid Disseldorp <ddiss@samba.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent e2943f47
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -193,7 +193,8 @@ check_name(struct dentry *direntry, struct cifs_tcon *tcon)
	struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb);
	int i;

	if (unlikely(direntry->d_name.len >
	if (unlikely(tcon->fsAttrInfo.MaxPathNameComponentLength &&
		     direntry->d_name.len >
		     le32_to_cpu(tcon->fsAttrInfo.MaxPathNameComponentLength)))
		return -ENAMETOOLONG;

@@ -509,7 +510,7 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,

	rc = check_name(direntry, tcon);
	if (rc)
		goto out_free_xid;
		goto out;

	server = tcon->ses->server;