summaryrefslogtreecommitdiffstats
path: root/fs/cifs/cifs_dfs_ref.c
diff options
context:
space:
mode:
authorCong Ding2013-01-23 01:20:58 +0100
committerSteve French2013-01-23 06:58:16 +0100
commit10b8c7dff5d3633b69e77f57d404dab54ead3787 (patch)
tree6c8484b0f704014f3353ab1c2e66faab6e480b59 /fs/cifs/cifs_dfs_ref.c
parentcifs: fix srcip_matches() for ipv6 (diff)
downloadkernel-qcow2-linux-10b8c7dff5d3633b69e77f57d404dab54ead3787.tar.gz
kernel-qcow2-linux-10b8c7dff5d3633b69e77f57d404dab54ead3787.tar.xz
kernel-qcow2-linux-10b8c7dff5d3633b69e77f57d404dab54ead3787.zip
fs/cifs/cifs_dfs_ref.c: fix potential memory leakage
When it goes to error through line 144, the memory allocated to *devname is not freed, and the caller doesn't free it either in line 250. So we free the memroy of *devname in function cifs_compose_mount_options() when it goes to error. Signed-off-by: Cong Ding <dinggnu@gmail.com> CC: stable <stable@kernel.org> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs/cifs/cifs_dfs_ref.c')
-rw-r--r--fs/cifs/cifs_dfs_ref.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/cifs/cifs_dfs_ref.c b/fs/cifs/cifs_dfs_ref.c
index ce5cbd717bfc..210fce2df308 100644
--- a/fs/cifs/cifs_dfs_ref.c
+++ b/fs/cifs/cifs_dfs_ref.c
@@ -226,6 +226,8 @@ compose_mount_options_out:
compose_mount_options_err:
kfree(mountdata);
mountdata = ERR_PTR(rc);
+ kfree(*devname);
+ *devname = NULL;
goto compose_mount_options_out;
}