diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2019-05-22 00:33:47 -0700 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-05-23 09:11:10 +0200 |
commit | 85de58c03ccd20764dd5afa2efc8b2f1380c4259 (patch) | |
tree | 825f4b7bbf5063eee96975d716314282d0c6900e /drivers/usb | |
parent | 9b8ed55336bc7aa7d90f3327752c8682ae00decb (diff) | |
download | barebox-85de58c03ccd20764dd5afa2efc8b2f1380c4259.tar.gz barebox-85de58c03ccd20764dd5afa2efc8b2f1380c4259.tar.xz |
usb: storage: Zero CDB out before sending it
Since cbw.Length can be less that sizeof(cbw.CDB), add code to zero
the whole struct out to avoid sending random stack data as a part of
payload. There's no known case where this causes a problem, but it's a
reasonable thing to do anyway.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/storage/transport.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/storage/transport.c b/drivers/usb/storage/transport.c index 48ccee2072..5186508ba6 100644 --- a/drivers/usb/storage/transport.c +++ b/drivers/usb/storage/transport.c @@ -115,6 +115,7 @@ int usb_stor_Bulk_transport(struct us_blk_dev *usb_blkdev, cbw.Length = cmdlen; /* copy the command payload */ + memset(cbw.CDB, 0, sizeof(cbw.CDB)); memcpy(cbw.CDB, cmd, cbw.Length); /* send it to out endpoint */ |