diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2022-03-29 21:29:43 +0200 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2022-03-31 09:55:27 +0200 |
commit | 50d34a0d151dc7abbdbec781bd7f09f2b3cbf01a (patch) | |
tree | 1332ce4f42624ffd542727ebb36701e47c121bcc /drivers | |
parent | 136bed0bfd3bc9c95c88aafff2d22ecb3a919f23 (diff) | |
download | linux-rpi-50d34a0d151dc7abbdbec781bd7f09f2b3cbf01a.tar.gz linux-rpi-50d34a0d151dc7abbdbec781bd7f09f2b3cbf01a.tar.bz2 linux-rpi-50d34a0d151dc7abbdbec781bd7f09f2b3cbf01a.zip |
can: gs_usb: gs_make_candev(): fix memory leak for devices with extended bit timing configuration
Some CAN-FD capable devices offer extended bit timing information for
the data bit timing. The information must be read with an USB control
message. The memory for this message is allocated but not free()ed (in
the non error case). This patch adds the missing free.
Fixes: 6679f4c5e5a6 ("can: gs_usb: add extended bt_const feature")
Link: https://lore.kernel.org/all/20220329193450.659726-1-mkl@pengutronix.de
Reported-by: syzbot+4d0ae90a195b269f102d@syzkaller.appspotmail.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/can/usb/gs_usb.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c index 67408e316062..b29ba9138866 100644 --- a/drivers/net/can/usb/gs_usb.c +++ b/drivers/net/can/usb/gs_usb.c @@ -1092,6 +1092,8 @@ static struct gs_can *gs_make_candev(unsigned int channel, dev->data_bt_const.brp_inc = le32_to_cpu(bt_const_extended->dbrp_inc); dev->can.data_bittiming_const = &dev->data_bt_const; + + kfree(bt_const_extended); } SET_NETDEV_DEV(netdev, &intf->dev); |