Commit 674b2222 authored by Dan Carpenter's avatar Dan Carpenter Committed by Trond Myklebust

nfs: include space for the NUL 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 NUL terminator so the fix is to add space to the nfs_export_path[]
buffer.
Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent a2dccdb2
...@@ -105,7 +105,7 @@ static char nfs_root_name[256] __initdata = ""; ...@@ -105,7 +105,7 @@ static char nfs_root_name[256] __initdata = "";
static __be32 servaddr __initdata = 0; static __be32 servaddr __initdata = 0;
/* Name of directory to mount */ /* 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 */ /* NFS-related data */
static struct nfs_mount_data nfs_data __initdata = { 0, };/* NFS mount info */ static struct nfs_mount_data nfs_data __initdata = { 0, };/* NFS mount info */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment