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

Commit f74bc7c6 authored by Ronnie Sahlberg's avatar Ronnie Sahlberg Committed by Steve French
Browse files

cifs: check MaxPathNameComponentLength != 0 before using it



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>
CC: Stable <stable@vger.kernel.org>
Reviewed-by: default avatarDavid Disseldorp <ddiss@samba.org>
parent 0b07194b
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -204,7 +204,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;

@@ -520,7 +521,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;