diff options
author | Julia Lawall <julia@diku.dk> | 2009-12-13 05:47:04 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-01-06 14:26:25 -0800 |
commit | cf95a4b52defc0daf910a71f76e5f647eb28bd1d (patch) | |
tree | 0c3e83ebd9d3f2d776823fd6bfb60fbae757f3e5 /drivers | |
parent | 2ebcfd6c0ef863636ce215f71c70c3b2d4e57a6f (diff) | |
download | lwn-cf95a4b52defc0daf910a71f76e5f647eb28bd1d.tar.gz lwn-cf95a4b52defc0daf910a71f76e5f647eb28bd1d.zip |
drivers/net/usb: Correct code taking the size of a pointer
commit 6057912d7baad31be9819518674ffad349a065b1 upstream.
sizeof(dev->dev_addr) is the size of a pointer. A few lines above, the
size of this field is obtained using netdev->addr_len for a call to memcpy,
so do the same here.
A simplified version of the semantic patch that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
@@
expression *x;
expression f;
type T;
@@
*f(...,(T)x,...)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/usb/rtl8150.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c index fcc6fa0905d1..18686839cd12 100644 --- a/drivers/net/usb/rtl8150.c +++ b/drivers/net/usb/rtl8150.c @@ -324,7 +324,7 @@ static int rtl8150_set_mac_address(struct net_device *netdev, void *p) dbg("%02X:", netdev->dev_addr[i]); dbg("%02X\n", netdev->dev_addr[i]); /* Set the IDR registers. */ - set_registers(dev, IDR, sizeof(netdev->dev_addr), netdev->dev_addr); + set_registers(dev, IDR, netdev->addr_len, netdev->dev_addr); #ifdef EEPROM_WRITE { u8 cr; |