From: Denis Kirjanov Date: Tue, 30 Jul 2019 13:13:57 +0000 (+0200) Subject: net: usb: pegasus: fix improper read if get_registers() fail X-Git-Tag: v4.14.140~53 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=8176e66caedb1b8f0a9c2429e57e0c8dda127010;p=users%2Fdwmw2%2Flinux.git net: usb: pegasus: fix improper read if get_registers() fail commit 224c04973db1125fcebefffd86115f99f50f8277 upstream. get_registers() may fail with -ENOMEM and in this case we can read a garbage from the status variable tmp. Reported-by: syzbot+3499a83b2d062ae409d4@syzkaller.appspotmail.com Signed-off-by: Denis Kirjanov Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c index 6514c86f043ee..5435c34dfcc76 100644 --- a/drivers/net/usb/pegasus.c +++ b/drivers/net/usb/pegasus.c @@ -285,7 +285,7 @@ static void mdio_write(struct net_device *dev, int phy_id, int loc, int val) static int read_eprom_word(pegasus_t *pegasus, __u8 index, __u16 *retdata) { int i; - __u8 tmp; + __u8 tmp = 0; __le16 retdatai; int ret;