mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 03:04:01 +08:00
cifs: fix build_unc_path_to_root to account for a prefixpath
Regression introduced by commit f87d39d951
.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Pavel Shilovsky <piastryyy@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
677d8537d8
commit
b2a0fa1520
@ -2855,19 +2855,28 @@ cifs_cleanup_volume_info(struct smb_vol **pvolume_info)
|
||||
/* build_path_to_root returns full path to root when
|
||||
* we do not have an exiting connection (tcon) */
|
||||
static char *
|
||||
build_unc_path_to_root(const struct smb_vol *volume_info,
|
||||
build_unc_path_to_root(const struct smb_vol *vol,
|
||||
const struct cifs_sb_info *cifs_sb)
|
||||
{
|
||||
char *full_path;
|
||||
char *full_path, *pos;
|
||||
unsigned int pplen = vol->prepath ? strlen(vol->prepath) : 0;
|
||||
unsigned int unc_len = strnlen(vol->UNC, MAX_TREE_SIZE + 1);
|
||||
|
||||
int unc_len = strnlen(volume_info->UNC, MAX_TREE_SIZE + 1);
|
||||
full_path = kmalloc(unc_len + 1, GFP_KERNEL);
|
||||
full_path = kmalloc(unc_len + pplen + 1, GFP_KERNEL);
|
||||
if (full_path == NULL)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
strncpy(full_path, volume_info->UNC, unc_len);
|
||||
full_path[unc_len] = 0; /* add trailing null */
|
||||
strncpy(full_path, vol->UNC, unc_len);
|
||||
pos = full_path + unc_len;
|
||||
|
||||
if (pplen) {
|
||||
strncpy(pos, vol->prepath, pplen);
|
||||
pos += pplen;
|
||||
}
|
||||
|
||||
*pos = '\0'; /* add trailing null */
|
||||
convert_delimiter(full_path, CIFS_DIR_SEP(cifs_sb));
|
||||
cFYI(1, "%s: full_path=%s", __func__, full_path);
|
||||
return full_path;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user