diff options
Diffstat (limited to 'fs/cifs/connect.c')
| -rw-r--r-- | fs/cifs/connect.c | 23 | 
1 files changed, 11 insertions, 12 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 986709a8d90..602f77c304c 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c @@ -773,10 +773,11 @@ standard_receive3(struct TCP_Server_Info *server, struct mid_q_entry *mid)  		cifs_dump_mem("Bad SMB: ", buf,  			min_t(unsigned int, server->total_read, 48)); -	if (mid) -		handle_mid(mid, server, smb_buffer, length); +	if (!mid) +		return length; -	return length; +	handle_mid(mid, server, smb_buffer, length); +	return 0;  }  static int @@ -2125,7 +2126,7 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)  	down_read(&key->sem);  	upayload = key->payload.data;  	if (IS_ERR_OR_NULL(upayload)) { -		rc = PTR_ERR(key); +		rc = upayload ? PTR_ERR(upayload) : -EINVAL;  		goto out_key_put;  	} @@ -2142,14 +2143,14 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)  	len = delim - payload;  	if (len > MAX_USERNAME_SIZE || len <= 0) { -		cFYI(1, "Bad value from username search (len=%ld)", len); +		cFYI(1, "Bad value from username search (len=%zd)", len);  		rc = -EINVAL;  		goto out_key_put;  	}  	vol->username = kstrndup(payload, len, GFP_KERNEL);  	if (!vol->username) { -		cFYI(1, "Unable to allocate %ld bytes for username", len); +		cFYI(1, "Unable to allocate %zd bytes for username", len);  		rc = -ENOMEM;  		goto out_key_put;  	} @@ -2157,7 +2158,7 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)  	len = key->datalen - (len + 1);  	if (len > MAX_PASSWORD_SIZE || len <= 0) { -		cFYI(1, "Bad len for password search (len=%ld)", len); +		cFYI(1, "Bad len for password search (len=%zd)", len);  		rc = -EINVAL;  		kfree(vol->username);  		vol->username = NULL; @@ -2167,7 +2168,7 @@ cifs_set_cifscreds(struct smb_vol *vol, struct cifs_ses *ses)  	++delim;  	vol->password = kstrndup(delim, len, GFP_KERNEL);  	if (!vol->password) { -		cFYI(1, "Unable to allocate %ld bytes for password", len); +		cFYI(1, "Unable to allocate %zd bytes for password", len);  		rc = -ENOMEM;  		kfree(vol->username);  		vol->username = NULL; @@ -3857,10 +3858,8 @@ cifs_construct_tcon(struct cifs_sb_info *cifs_sb, uid_t fsuid)  	struct smb_vol *vol_info;  	vol_info = kzalloc(sizeof(*vol_info), GFP_KERNEL); -	if (vol_info == NULL) { -		tcon = ERR_PTR(-ENOMEM); -		goto out; -	} +	if (vol_info == NULL) +		return ERR_PTR(-ENOMEM);  	vol_info->local_nls = cifs_sb->local_nls;  	vol_info->linux_uid = fsuid;  |