[PATCH] CIFS: Fix NULL pointer dereference in cifs_construct_tcon()

Jeff Layton jlayton at redhat.com
Sun Feb 5 04:22:04 MST 2012


On Sun, 5 Feb 2012 00:35:19 +0100 (CET)
Jesper Juhl <jj at chaosbits.net> wrote:

> If the call to kcalloc() fails and returns NULL we'll dereference a
> NULL 'vol_info' after we jump to the 'out:' label.
> 
> Signed-off-by: Jesper Juhl <jj at chaosbits.net>
> ---
>  fs/cifs/connect.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> index 986709a..bd67b7c 100644
> --- a/fs/cifs/connect.c
> +++ b/fs/cifs/connect.c
> @@ -3859,7 +3859,7 @@ cifs_construct_tcon(struct cifs_sb_info *cifs_sb, uid_t fsuid)
>  	vol_info = kzalloc(sizeof(*vol_info), GFP_KERNEL);
>  	if (vol_info == NULL) {
>  		tcon = ERR_PTR(-ENOMEM);
> -		goto out;
> +		goto out2;
>  	}
>  
>  	vol_info->local_nls = cifs_sb->local_nls;
> @@ -3901,7 +3901,7 @@ out:
>  	kfree(vol_info->username);
>  	kfree(vol_info->password);
>  	kfree(vol_info);
> -
> +out2:
>  	return tcon;
>  }
>  

Thanks. Dan Carpenter already sent a patch a couple of weeks ago to fix
this. Steve has it in his tree, but hasn't pushed it to Linus yet.

Steve, is there a reason you're waiting?

-- 
Jeff Layton <jlayton at redhat.com>


More information about the samba-technical mailing list