diff options
Diffstat (limited to 'fs/cifs/dir.c')
| -rw-r--r-- | fs/cifs/dir.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index e702d48bd023..81ba6e0d88d8 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -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; |