wireless: at76c50x: allocating too much data
authorDan Carpenter <dan.carpenter@oracle.com>
Sat, 21 Apr 2012 12:23:44 +0000 (15:23 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 9 May 2012 00:56:10 +0000 (20:56 -0400)
This is a cut and paste mistake, sizeof(struct mib_local) was intended
instead of sizeof(struct mib_phy).  The call to at76_get_mib() uses
sizeof(struct mib_local) correctly, although I changed that to
sizeof(*m) for style reasons after discussion with some of the wireless
maintainers.

The current code works fine because mib_phy structs are larger than
mib_local structs.  But we may as well clean it up.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/at76c50x-usb.c

index faa8bcb4aac1efe6bd9d62242176b71f4544a254..3036c0bab05668ddfd89d1b262df237adf4aa85b 100644 (file)
@@ -1122,12 +1122,12 @@ exit:
 static void at76_dump_mib_local(struct at76_priv *priv)
 {
        int ret;
-       struct mib_local *m = kmalloc(sizeof(struct mib_phy), GFP_KERNEL);
+       struct mib_local *m = kmalloc(sizeof(*m), GFP_KERNEL);
 
        if (!m)
                return;
 
-       ret = at76_get_mib(priv->udev, MIB_LOCAL, m, sizeof(struct mib_local));
+       ret = at76_get_mib(priv->udev, MIB_LOCAL, m, sizeof(*m));
        if (ret < 0) {
                wiphy_err(priv->hw->wiphy,
                          "at76_get_mib (LOCAL) failed: %d\n", ret);