OSDN Git Service

b43: fix unitialized reads of ret by initializing the array to zero
authorColin Ian King <colin.king@canonical.com>
Tue, 5 Sep 2017 18:15:50 +0000 (19:15 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 20 Sep 2017 12:41:07 +0000 (15:41 +0300)
The u8 char array ret is not being initialized and elements outside
the range start to end contain just garbage values from the stack.
This results in a later scan of the array to read potentially
uninitialized values.  Fix this by initializing the array to zero.
This seems to have been an issue since the very first commit.

Detected by CoverityScan CID#139652 ("Uninitialized scalar variable")

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Reviewed-by: Michael Buesch <m@bues.ch>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/b43/phy_g.c

index 822dcaa..f59c021 100644 (file)
@@ -2297,7 +2297,7 @@ static u8 b43_gphy_aci_detect(struct b43_wldev *dev, u8 channel)
 static u8 b43_gphy_aci_scan(struct b43_wldev *dev)
 {
        struct b43_phy *phy = &dev->phy;
-       u8 ret[13];
+       u8 ret[13] = { 0 };
        unsigned int channel = phy->channel;
        unsigned int i, j, start, end;