OSDN Git Service

net: aquantia: fixed memcpy size
authorNikita Danilov <nikita.danilov@aquantia.com>
Wed, 27 Feb 2019 12:10:03 +0000 (12:10 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 2 Mar 2019 00:45:15 +0000 (16:45 -0800)
Not careful array dereference caused analysis tools
to think there could be memory overflow.

There was actually no corruption because the array is
two dimensional.

drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c: 140
  aq_ethtool_get_strings() error:
    memcpy() '*aq_ethtool_stat_names' too small (32 vs 704)

Signed-off-by: Nikita Danilov <nikita.danilov@aquantia.com>
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c

index 38e87ee..a718d7a 100644 (file)
@@ -138,7 +138,7 @@ static void aq_ethtool_get_strings(struct net_device *ndev,
        u8 *p = data;
 
        if (stringset == ETH_SS_STATS) {
-               memcpy(p, *aq_ethtool_stat_names,
+               memcpy(p, aq_ethtool_stat_names,
                       sizeof(aq_ethtool_stat_names));
                p = p + sizeof(aq_ethtool_stat_names);
                for (i = 0; i < cfg->vecs; i++) {