1 --- linux/net/core/dev.c.orig 2007-01-22 15:51:34.000000000 +0000
2 +++ linux/net/core/dev.c 2007-01-22 16:00:09.000000000 +0000
3 @@ -2333,10 +2333,11 @@ static int dev_ifsioc(struct ifreq *ifr,
4 return dev_set_mtu(dev, ifr->ifr_mtu);
7 - if ((size_t) dev->addr_len > sizeof ifr->ifr_hwaddr.sa_data)
9 - memset(ifr->ifr_hwaddr.sa_data, 0, sizeof ifr->ifr_hwaddr.sa_data);
10 - memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr, dev->addr_len);
12 + memset(ifr->ifr_hwaddr.sa_data, 0, sizeof ifr->ifr_hwaddr.sa_data);
14 + memcpy(ifr->ifr_hwaddr.sa_data, dev->dev_addr,
15 + min(sizeof ifr->ifr_hwaddr.sa_data, (size_t) dev->addr_len));
16 ifr->ifr_hwaddr.sa_family = dev->type;