[linux-cifs-client] [patch] cifs: change && to ||

Dan Carpenter error27 at gmail.com
Mon Apr 26 04:47:09 MDT 2010


On Mon, Apr 26, 2010 at 06:44:01AM -0400, Jeff Layton wrote:
> On Mon, 26 Apr 2010 12:10:06 +0200
> Dan Carpenter <error27 at gmail.com> wrote:
> 
> > This is a typo, if pvolume_info were NULL it would oops.
> > 
> > This function is used in clean up and error handling.  The current code
> > never passes a NULL pvolume_info, but it could pass a NULL *pvolume_info
> > if the kmalloc() failed.
> > 
> > Signed-off-by: Dan Carpenter <error27 at gmail.com>
> > 
> > diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
> > index d9566bf..85a35a4 100644
> > --- a/fs/cifs/connect.c
> > +++ b/fs/cifs/connect.c
> > @@ -2262,7 +2262,7 @@ cleanup_volume_info(struct smb_vol **pvolume_info)
> >  {
> >  	struct smb_vol *volume_info;
> >  
> > -	if (!pvolume_info && !*pvolume_info)
> > +	if (!pvolume_info || !*pvolume_info)
> >  		return;
> >  
> >  	volume_info = *pvolume_info;
> 
> Good catch. I wonder though whether we can just eliminate that check
> altogether? In any case, this is clearly correct in the short term.

Nah, we can't.  If the kmalloc() that allocates *pvolume_info fails it
would lead to an OOPs.

regards,
dan carpenter

> 
> Acked-by: Jeff Layton <jlayton at redhat.com>


More information about the linux-cifs-client mailing list