diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2012-04-19 10:00:19 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-19 13:25:03 -0400 |
commit | 716af4abd6e6370226f567af50bfaca274515980 (patch) | |
tree | d0e70526f6b98daa8ec61ad06d72a666392d1ad0 /drivers/net | |
parent | 22b4a4f22da4b39c6f7f679fd35f3d35c91bf851 (diff) |
ksz884x: don't copy too much in netdev_set_mac_address()
MAX_ADDR_LEN is 32. ETH_ALEN is 6. mac->sa_data is a 14 byte array, so
the memcpy() is doing a read past the end of the array. I asked about
this on netdev and Ben Hutchings told me it's supposed to be copying
ETH_ALEN bytes (thanks Ben).
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/micrel/ksz884x.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c index ef723b185d8..eaf9ff0262a 100644 --- a/drivers/net/ethernet/micrel/ksz884x.c +++ b/drivers/net/ethernet/micrel/ksz884x.c @@ -5675,7 +5675,7 @@ static int netdev_set_mac_address(struct net_device *dev, void *addr) memcpy(hw->override_addr, mac->sa_data, ETH_ALEN); } - memcpy(dev->dev_addr, mac->sa_data, MAX_ADDR_LEN); + memcpy(dev->dev_addr, mac->sa_data, ETH_ALEN); interrupt = hw_block_intr(hw); |