projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
0b07194
)
cifs: check MaxPathNameComponentLength != 0 before using it
author
Ronnie Sahlberg
<
[email protected]
>
Mon, 30 Oct 2017 02:28:03 +0000
(13:28 +1100)
committer
Steve French
<
[email protected]
>
Mon, 30 Oct 2017 07:11:38 +0000
(
02:11
-0500)
And fix tcon leak in error path.
Signed-off-by: Ronnie Sahlberg <
[email protected]
>
Signed-off-by: Steve French <
[email protected]
>
CC: Stable <
[email protected]
>
Reviewed-by: David Disseldorp <
[email protected]
>
fs/cifs/dir.c
patch
|
blob
|
history
diff --git
a/fs/cifs/dir.c
b/fs/cifs/dir.c
index e702d48bd023411f3bbed69c6cc6a571f2fc059c..81ba6e0d88d8f3ec1d1c8b2e81e695819537c921 100644
(file)
--- 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;