aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Engelmayer <cengelma@gmx.at>2014-01-10 19:57:22 -0500
committerSteve French <smfrench@gmail.com>2014-01-20 00:58:18 -0500
commitabf9767c823bf57837c2032f21332a6efc38a13e (patch)
tree601c90d4f541e0f2399f6dc2b400460c3c62a731
parentd8ec26d7f8287f5788a494f56e8814210f0e64be (diff)
cifs: Fix memory leak in cifs_hardlink()
Fix a potential memory leak in the cifs_hardlink() error handling path. Detected by Coverity: CID 728510, CID 728511. Signed-off-by: Christian Engelmayer <cengelma@gmx.at> Signed-off-by: Steve French <smfrench@gmail.com>
-rw-r--r--fs/cifs/link.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/cifs/link.c b/fs/cifs/link.c
index 92aee08483a5..28bc8ee97056 100644
--- a/fs/cifs/link.c
+++ b/fs/cifs/link.c
@@ -438,8 +438,10 @@ cifs_hardlink(struct dentry *old_file, struct inode *inode,
438 CIFS_MOUNT_MAP_SPECIAL_CHR); 438 CIFS_MOUNT_MAP_SPECIAL_CHR);
439 else { 439 else {
440 server = tcon->ses->server; 440 server = tcon->ses->server;
441 if (!server->ops->create_hardlink) 441 if (!server->ops->create_hardlink) {
442 return -ENOSYS; 442 rc = -ENOSYS;
443 goto cifs_hl_exit;
444 }
443 rc = server->ops->create_hardlink(xid, tcon, from_name, to_name, 445 rc = server->ops->create_hardlink(xid, tcon, from_name, to_name,
444 cifs_sb); 446 cifs_sb);
445 if ((rc == -EIO) || (rc == -EINVAL)) 447 if ((rc == -EIO) || (rc == -EINVAL))