summaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorBen Hutchings2009-10-06 21:42:18 +0200
committerTrond Myklebust2009-10-06 21:42:18 +0200
commitf4373bf9e67e4a653c8854acd7b02dac9714c98a (patch)
treed0371ed7638c0939550a2a43aef5b384d2e96b48 /fs/nfs
parentNFS: Fix port initialisation in nfs_remount() (diff)
downloadkernel-qcow2-linux-f4373bf9e67e4a653c8854acd7b02dac9714c98a.tar.gz
kernel-qcow2-linux-f4373bf9e67e4a653c8854acd7b02dac9714c98a.tar.xz
kernel-qcow2-linux-f4373bf9e67e4a653c8854acd7b02dac9714c98a.zip
nfs: Avoid overrun when copying client IP address string
As seen in <http://bugs.debian.org/549002>, nfs4_init_client() can overrun the source string when copying the client IP address from nfs_parsed_mount_data::client_address to nfs_client::cl_ipaddr. Since these are both treated as null-terminated strings elsewhere, the copy should be done with strlcpy() not memcpy(). Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/client.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/client.c b/fs/nfs/client.c
index 63976c0ccc25..99ea196f071f 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1180,7 +1180,7 @@ static int nfs4_init_client(struct nfs_client *clp,
1, flags & NFS_MOUNT_NORESVPORT);
if (error < 0)
goto error;
- memcpy(clp->cl_ipaddr, ip_addr, sizeof(clp->cl_ipaddr));
+ strlcpy(clp->cl_ipaddr, ip_addr, sizeof(clp->cl_ipaddr));
error = nfs_idmap_new(clp);
if (error < 0) {