From 508c02c15a0f8ede74904e8b31e8cc652c602fea Mon Sep 17 00:00:00 2001 From: Patrick Georgi Date: Wed, 4 Jan 2017 22:08:10 +0100 Subject: [PATCH] UPSTREAM: libpayload: xhci: plug leak Change-Id: Ia163872846906c6c78144a984a405812f856f626 Original-Signed-off-by: Patrick Georgi Original-Found-by: Coverity Scan #1325835 Original-Reviewed-on: https://review.coreboot.org/18035 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Martin Roth Signed-off-by: Aaron Durbin Reviewed-on: https://chromium-review.googlesource.com/425985 Reviewed-by: Patrick Georgi --- payloads/libpayload/drivers/usb/xhci_devconf.c | 1 + 1 file changed, 1 insertion(+) diff --git a/payloads/libpayload/drivers/usb/xhci_devconf.c b/payloads/libpayload/drivers/usb/xhci_devconf.c index 48d928c380..b697b0fd0f 100644 --- a/payloads/libpayload/drivers/usb/xhci_devconf.c +++ b/payloads/libpayload/drivers/usb/xhci_devconf.c @@ -451,6 +451,7 @@ xhci_destroy_dev(hci_t *const controller, const int slot_id) *ic->drop = (1 << num_eps) - 1; /* Drop all endpoints we can. */ *ic->drop &= ~(1 << 1 | 1 << 0); /* Not allowed to drop EP0 or Slot. */ int cc = xhci_cmd_evaluate_context(xhci, slot_id, ic); + free(ic); if (cc != CC_SUCCESS) xhci_debug("Failed to quiesce slot %d: %d\n", slot_id, cc); cc = xhci_cmd_stop_endpoint(xhci, slot_id, 1);