[PATCH 2.6]: IPv6: strcpy -> strlcpy

From: Felipe Alfaro Solana
Date: Thu Nov 27 2003 - 03:17:20 EST


Hi!

Attached is a patch against 2.6.0-test11 to convert all strcpy() calls
to their corresponding strlcpy() for IPv6. Compiled and tested.

Thanks!
diff -uNr linux-2.6.0-test11.orig/net/ipv6/ip6_tunnel.c linux-2.6.0-test11/net/ipv6/ip6_tunnel.c
--- linux-2.6.0-test11.orig/net/ipv6/ip6_tunnel.c 2003-11-26 21:42:56.000000000 +0100
+++ linux-2.6.0-test11/net/ipv6/ip6_tunnel.c 2003-11-27 00:27:09.000000000 +0100
@@ -1056,7 +1056,7 @@
struct ip6_tnl *t = (struct ip6_tnl *) dev->priv;
t->fl.proto = IPPROTO_IPV6;
t->dev = dev;
- strcpy(t->parms.name, dev->name);
+ strlcpy(t->parms.name, dev->name, IFNAMSIZ);
}

/**
diff -uNr linux-2.6.0-test11.orig/net/ipv6/netfilter/ip6_queue.c linux-2.6.0-test11/net/ipv6/netfilter/ip6_queue.c
--- linux-2.6.0-test11.orig/net/ipv6/netfilter/ip6_queue.c 2003-11-26 21:43:27.000000000 +0100
+++ linux-2.6.0-test11/net/ipv6/netfilter/ip6_queue.c 2003-11-27 00:26:47.000000000 +0100
@@ -240,12 +240,12 @@
pmsg->hw_protocol = entry->skb->protocol;

if (entry->info->indev)
- strcpy(pmsg->indev_name, entry->info->indev->name);
+ strlcpy(pmsg->indev_name, entry->info->indev->name, IFNAMSIZ);
else
pmsg->indev_name[0] = '\0';

if (entry->info->outdev)
- strcpy(pmsg->outdev_name, entry->info->outdev->name);
+ strlcpy(pmsg->outdev_name, entry->info->outdev->name, IFNAMSIZ);
else
pmsg->outdev_name[0] = '\0';

diff -uNr linux-2.6.0-test11.orig/net/ipv6/netfilter/ip6_tables.c linux-2.6.0-test11/net/ipv6/netfilter/ip6_tables.c
--- linux-2.6.0-test11.orig/net/ipv6/netfilter/ip6_tables.c 2003-11-26 21:45:30.000000000 +0100
+++ linux-2.6.0-test11/net/ipv6/netfilter/ip6_tables.c 2003-11-27 00:24:07.000000000 +0100
@@ -1357,7 +1357,7 @@
sizeof(info.underflow));
info.num_entries = t->private->number;
info.size = t->private->size;
- strcpy(info.name, name);
+ strlcpy(info.name, name, IP6T_TABLE_MAXNAMELEN);

if (copy_to_user(user, &info, *len) != 0)
ret = -EFAULT;
diff -uNr linux-2.6.0-test11.orig/net/ipv6/sit.c linux-2.6.0-test11/net/ipv6/sit.c
--- linux-2.6.0-test11.orig/net/ipv6/sit.c 2003-11-26 21:45:36.000000000 +0100
+++ linux-2.6.0-test11/net/ipv6/sit.c 2003-11-27 00:27:01.000000000 +0100
@@ -747,7 +747,7 @@
iph = &tunnel->parms.iph;

tunnel->dev = dev;
- strcpy(tunnel->parms.name, dev->name);
+ strlcpy(tunnel->parms.name, dev->name, IFNAMSIZ);

memcpy(dev->dev_addr, &tunnel->parms.iph.saddr, 4);
memcpy(dev->broadcast, &tunnel->parms.iph.daddr, 4);
@@ -786,7 +786,7 @@
struct iphdr *iph = &tunnel->parms.iph;

tunnel->dev = dev;
- strcpy(tunnel->parms.name, dev->name);
+ strlcpy(tunnel->parms.name, dev->name, IFNAMSIZ);

iph->version = 4;
iph->protocol = IPPROTO_IPV6;