[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 27/30] tests: fix usb-test leaks
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v2 27/30] tests: fix usb-test leaks |
Date: |
Tue, 21 Feb 2017 18:14:48 +0400 |
Fix the usb tests leaks.
Spotted by ASAN.
Cc: Gerd Hoffmann <address@hidden>
Signed-off-by: Marc-André Lureau <address@hidden>
---
tests/libqos/usb.h | 1 +
tests/libqos/usb.c | 5 +++++
tests/usb-hcd-ehci-test.c | 10 ++++++++++
tests/usb-hcd-uhci-test.c | 1 +
4 files changed, 17 insertions(+)
diff --git a/tests/libqos/usb.h b/tests/libqos/usb.h
index 423dcfd82f..297cfc564d 100644
--- a/tests/libqos/usb.h
+++ b/tests/libqos/usb.h
@@ -11,6 +11,7 @@ struct qhc {
void qusb_pci_init_one(QPCIBus *pcibus, struct qhc *hc,
uint32_t devfn, int bar);
void uhci_port_test(struct qhc *hc, int port, uint16_t expect);
+void uhci_deinit(struct qhc *hc);
void usb_test_hotplug(const char *bus_name, const int port,
void (*port_check)(void));
diff --git a/tests/libqos/usb.c b/tests/libqos/usb.c
index 98408d93f3..0cdfaecda7 100644
--- a/tests/libqos/usb.c
+++ b/tests/libqos/usb.c
@@ -24,6 +24,11 @@ void qusb_pci_init_one(QPCIBus *pcibus, struct qhc *hc,
uint32_t devfn, int bar)
hc->bar = qpci_iomap(hc->dev, bar, NULL);
}
+void uhci_deinit(struct qhc *hc)
+{
+ g_free(hc->dev);
+}
+
void uhci_port_test(struct qhc *hc, int port, uint16_t expect)
{
uint16_t value = qpci_io_readw(hc->dev, hc->bar, 0x10 + 2 * port);
diff --git a/tests/usb-hcd-ehci-test.c b/tests/usb-hcd-ehci-test.c
index fba84b4bee..944eb1c088 100644
--- a/tests/usb-hcd-ehci-test.c
+++ b/tests/usb-hcd-ehci-test.c
@@ -61,6 +61,15 @@ static void test_init(void)
qusb_pci_init_one(pcibus, &ehci1, QPCI_DEVFN(0x1d, 7), 0);
}
+static void test_deinit(void)
+{
+ uhci_deinit(&uhci1);
+ uhci_deinit(&uhci2);
+ uhci_deinit(&uhci3);
+ uhci_deinit(&ehci1);
+ qpci_free_pc(pcibus);
+}
+
static void pci_uhci_port_1(void)
{
g_assert(pcibus != NULL);
@@ -161,6 +170,7 @@ int main(int argc, char **argv)
test_init();
ret = g_test_run();
+ test_deinit();
qtest_end();
diff --git a/tests/usb-hcd-uhci-test.c b/tests/usb-hcd-uhci-test.c
index e956b9ccb7..f25bae5e6c 100644
--- a/tests/usb-hcd-uhci-test.c
+++ b/tests/usb-hcd-uhci-test.c
@@ -28,6 +28,7 @@ static void test_port(int port)
g_assert(port > 0);
qusb_pci_init_one(qs->pcibus, &uhci, QPCI_DEVFN(0x1d, 0), 4);
uhci_port_test(&uhci, port - 1, UHCI_PORT_CCS);
+ uhci_deinit(&uhci);
}
static void test_port_1(void)
--
2.11.0.295.gd7dffce1c.dirty
- Re: [Qemu-devel] [PATCH v2 23/30] bus: do not unref hotplug handler, (continued)
[Qemu-devel] [PATCH v2 24/30] usb: replace handle_destroy with unrealize, Marc-André Lureau, 2017/02/21
[Qemu-devel] [PATCH v2 26/30] tests: allows to run single test in usb-hcd-ehci-test, Marc-André Lureau, 2017/02/21
[Qemu-devel] [PATCH v2 25/30] usb: release the created buses, Marc-André Lureau, 2017/02/21
[Qemu-devel] [PATCH v2 27/30] tests: fix usb-test leaks,
Marc-André Lureau <=
[Qemu-devel] [PATCH v2 28/30] tests: add specialized device_find function, Marc-André Lureau, 2017/02/21
[Qemu-devel] [PATCH v2 30/30] migration: fix id leak regression, Marc-André Lureau, 2017/02/21
Re: [Qemu-devel] [PATCH v2 30/30] migration: fix id leak regression, Dr. David Alan Gilbert, 2017/02/28
[Qemu-devel] [PATCH v2 29/30] tests: fix virtio-blk-test leaks, Marc-André Lureau, 2017/02/21