Просмотр исходного кода

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>
Cong Ding 13 лет назад
Родитель
Сommit
10b8c7dff5
1 измененных файлов с 2 добавлено и 0 удалено
  1. 2 0
      fs/cifs/cifs_dfs_ref.c

+ 2 - 0
fs/cifs/cifs_dfs_ref.c

@@ -226,6 +226,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
 compose_mount_options_err:
 	kfree(mountdata);
 	mountdata = ERR_PTR(rc);
+	kfree(*devname);
+	*devname = NULL;
 	goto compose_mount_options_out;
 }