mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 14:50:19 +00:00
smb: client: Handle kstrdup failures for passwords
In smb3_reconfigure(), after duplicating ctx->password and ctx->password2 with kstrdup(), we need to check for allocation failures. If ses->password allocation fails, return -ENOMEM. If ses->password2 allocation fails, free ses->password, set it to NULL, and return -ENOMEM. Fixes: c1eb537bf456 ("cifs: allow changing password during remount") Reviewed-by: David Howells <dhowells@redhat.com Signed-off-by: Haoxiang Li <make24@iscas.ac.cn> Signed-off-by: Henrique Carvalho <henrique.carvalho@suse.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
42f7652d3e
commit
9a5dd61151
@ -920,8 +920,15 @@ static int smb3_reconfigure(struct fs_context *fc)
|
||||
else {
|
||||
kfree_sensitive(ses->password);
|
||||
ses->password = kstrdup(ctx->password, GFP_KERNEL);
|
||||
if (!ses->password)
|
||||
return -ENOMEM;
|
||||
kfree_sensitive(ses->password2);
|
||||
ses->password2 = kstrdup(ctx->password2, GFP_KERNEL);
|
||||
if (!ses->password2) {
|
||||
kfree_sensitive(ses->password);
|
||||
ses->password = NULL;
|
||||
return -ENOMEM;
|
||||
}
|
||||
}
|
||||
STEAL_STRING(cifs_sb, ctx, domainname);
|
||||
STEAL_STRING(cifs_sb, ctx, nodename);
|
||||
|
Loading…
x
Reference in New Issue
Block a user