summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/usb/usb_dev.c
diff options
context:
space:
mode:
authorPatrick Rudolph <siro@das-labor.org>2018-02-10 12:03:58 +0100
committerNico Huber <nico.h@gmx.de>2018-10-01 16:58:29 +0000
commit1fea734e540ed84e93356381db9d694659477132 (patch)
tree88d2b939713f7ede4f94bd0783d6c1c2ba821f43 /payloads/libpayload/drivers/usb/usb_dev.c
parentd5a70bdfd5b09d8438b8883e72f02f0d11d90e0e (diff)
downloadcoreboot-1fea734e540ed84e93356381db9d694659477132.tar.xz
libpayload/drivers/usb: Fix leaks
Don't leak buffers on device detach. Tested on qemu using: qemu-system-x86_64 -bios build/coreboot.rom -M pc -m 2048 -usb \ -device usb-ehci,id=ehci -device usb-mouse -device usb-audio,bus=usb-bus.0 \ -device usb-bt-dongle,bus=usb-bus.0 -device usb-kbd Change-Id: Ib2d80dd4590aa0dacdf2da3b614c6505c931d0be Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/23689 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads/libpayload/drivers/usb/usb_dev.c')
-rw-r--r--payloads/libpayload/drivers/usb/usb_dev.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/payloads/libpayload/drivers/usb/usb_dev.c b/payloads/libpayload/drivers/usb/usb_dev.c
index 9a0aecda7b..e67f6e3d7a 100644
--- a/payloads/libpayload/drivers/usb/usb_dev.c
+++ b/payloads/libpayload/drivers/usb/usb_dev.c
@@ -32,8 +32,6 @@
static void
usb_nop_destroy (usbdev_t *dev)
{
- if (dev->descriptor != 0)
- free (dev->descriptor);
usb_nop_init (dev);
dev->address = -1;
dev->hub = -1;
@@ -49,7 +47,8 @@ usb_nop_poll (usbdev_t *dev)
void
usb_nop_init (usbdev_t *dev)
{
- dev->descriptor = 0;
+ dev->descriptor = NULL;
+ dev->configuration = NULL;
dev->destroy = usb_nop_destroy;
dev->poll = usb_nop_poll;
}