Skip to content

Commit

Permalink
net: usb: Fix uninit-was-stored issue in asix_read_phy_addr()
Browse files Browse the repository at this point in the history
The buffer size is 2 Bytes and we expect to receive the same amount of
data. But sometimes we receive less data and run into uninit-was-stored
issue upon read. Hence modify the error check on the return value to match
with the buffer size as a prevention.

Reported-and-tested by: syzbot+a7e220df5a81d1ab400e@syzkaller.appspotmail.com
Signed-off-by: Himadri Pandya <himadrispandya@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
himadrics authored and davem330 committed Aug 27, 2020
1 parent 5875568 commit a092b72
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/net/usb/asix_common.c
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ int asix_read_phy_addr(struct usbnet *dev, int internal)

netdev_dbg(dev->net, "asix_get_phy_addr()\n");

if (ret < 0) {
if (ret < 2) {
netdev_err(dev->net, "Error reading PHYID register: %02x\n", ret);
goto out;
}
Expand Down

0 comments on commit a092b72

Please sign in to comment.