nfs: include space for the NULL in root path
Subsystems (3)
PATCH 1/1 nfs: include space for the NULL in root path
In root_nfs_name() it does the following:
if (strlen(buf) + strlen(cp) > NFS_MAXPATHLEN) {
printk(KERN_ERR "Root-NFS: Pathname for remote directory too long.\n");
return -1;
}
sprintf(nfs_export_path, buf, cp);In the original code if (strlen(buf) + strlen(cp) = NFS_MAXPATHLEN) then the sprintf() would lead to an overflow. Generally the rest of the code assumes that the path can have NFS_MAXPATHLEN (1024) characters and a NULL terminator so the fix is to add space to the nfs_export_path[] buffer.
Signed-off-by Dan Carpenter <[email protected]>
fs/nfs/nfsroot.c +1 -1
@@ -105,7 +105,7 @@ static char nfs_root_name[256] __initdata = "";static __be32 servaddr__initdata =0 ;/* Name of directory to mount */ -static char nfs_export_path[NFS_MAXPATHLEN ]__initdata = {0 , }; +static char nfs_export_path[NFS_MAXPATHLEN +1 ]__initdata = {0 , };/* NFS-related data */ static struct nfs_mount_data nfs_data__initdata = {0 , };/* NFS mount info */