diff options
| author | Alexey Khoroshilov <[email protected]> | 2013-07-17 21:20:33 +0000 |
|---|---|---|
| committer | Marc Kleine-Budde <[email protected]> | 2013-07-19 12:55:14 +0000 |
| commit | 7671986839f9207f8d76e8ef92b2d3f263a794cc (patch) | |
| tree | 5db2bcca46a20f9f0c7205bb6c1932827dcb752b /drivers/net/can/usb/usb_8dev.c | |
| parent | net: can: esd_usb2: check index of array before accessing (diff) | |
| download | kernel-7671986839f9207f8d76e8ef92b2d3f263a794cc.tar.gz kernel-7671986839f9207f8d76e8ef92b2d3f263a794cc.zip | |
can: usb_8dev: fix urb leak on failure path in usb_8dev_start()
If usb_8dev_start() fails to submit urb,
it unanchors the urb but forgets to free it.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <[email protected]>
Signed-off-by: Marc Kleine-Budde <[email protected]>
Diffstat (limited to 'drivers/net/can/usb/usb_8dev.c')
| -rw-r--r-- | drivers/net/can/usb/usb_8dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/can/usb/usb_8dev.c b/drivers/net/can/usb/usb_8dev.c index cbd388eea682..8becd3d838b5 100644 --- a/drivers/net/can/usb/usb_8dev.c +++ b/drivers/net/can/usb/usb_8dev.c @@ -779,6 +779,7 @@ static int usb_8dev_start(struct usb_8dev_priv *priv) usb_unanchor_urb(urb); usb_free_coherent(priv->udev, RX_BUFFER_SIZE, buf, urb->transfer_dma); + usb_free_urb(urb); break; } |
