summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2009-10-06 15:42:18 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2009-11-09 16:22:59 -0800
commit55a6efb39afcfe70754a733cdca91b6e1599fb6b (patch)
tree19e54fe40bf3b108a110d9d0ba0a08c1e274438d
parentcd45ad45a38aa500f96254ce21890ae7611cef46 (diff)
downloadlwn-55a6efb39afcfe70754a733cdca91b6e1599fb6b.tar.gz
lwn-55a6efb39afcfe70754a733cdca91b6e1599fb6b.zip
nfs: Avoid overrun when copying client IP address string
commit f4373bf9e67e4a653c8854acd7b02dac9714c98a upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 8d25ccb2d51d..bdd76b9b5700 100644
--- a/fs/nfs/client.c
+++ b/fs/nfs/client.c
@@ -1171,7 +1171,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) {