nfs: include space for the NUL in root path
authorDan Carpenter <error27@gmail.com>
Tue, 13 Jul 2010 11:34:59 +0000 (13:34 +0200)
committerTrond Myklebust <Trond.Myklebust@netapp.com>
Fri, 30 Jul 2010 19:33:39 +0000 (15:33 -0400)
commit674b2222920012244ca59978b356b25412a8dcc7
tree01b3673031df1fb3b9a3f5c8f3394f1c0036dde6
parenta2dccdb2055abeb8a7ce8e45e5f83de9c980a00c
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: Dan Carpenter <error27@gmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
fs/nfs/nfsroot.c