tests: fix ide-test leaks

Spotted by ASAN.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
This commit is contained in:
Marc-André Lureau 2017-02-03 16:10:45 +04:00
parent 0c0eb30260
commit f5aa4bdc76
1 changed files with 12 additions and 0 deletions

View File

@ -339,6 +339,7 @@ static void test_bmdma_simple_rw(void)
g_assert(memcmp(buf, cmpbuf, len) == 0);
free_pci_device(dev);
g_free(buf);
g_free(cmpbuf);
}
@ -369,6 +370,7 @@ static void test_bmdma_short_prdt(void)
prdt, ARRAY_SIZE(prdt), NULL);
g_assert_cmphex(status, ==, 0);
assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR);
free_pci_device(dev);
}
static void test_bmdma_one_sector_short_prdt(void)
@ -398,6 +400,7 @@ static void test_bmdma_one_sector_short_prdt(void)
prdt, ARRAY_SIZE(prdt), NULL);
g_assert_cmphex(status, ==, 0);
assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR);
free_pci_device(dev);
}
static void test_bmdma_long_prdt(void)
@ -426,6 +429,7 @@ static void test_bmdma_long_prdt(void)
prdt, ARRAY_SIZE(prdt), NULL);
g_assert_cmphex(status, ==, BM_STS_INTR);
assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR);
free_pci_device(dev);
}
static void test_bmdma_no_busmaster(void)
@ -449,6 +453,7 @@ static void test_bmdma_no_busmaster(void)
* in practice. At least we want to be aware of any changes. */
g_assert_cmphex(status, ==, BM_STS_ACTIVE | BM_STS_INTR);
assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR);
free_pci_device(dev);
}
static void test_bmdma_setup(void)
@ -525,6 +530,7 @@ static void test_identify(void)
assert_bit_set(buf[85], 0x20);
ide_test_quit();
free_pci_device(dev);
}
/*
@ -563,6 +569,7 @@ static void make_dirty(uint8_t device)
assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR);
g_free(buf);
free_pci_device(dev);
}
static void test_flush(void)
@ -609,6 +616,7 @@ static void test_flush(void)
assert_bit_clear(data, BSY | DF | ERR | DRQ);
ide_test_quit();
free_pci_device(dev);
}
static void test_retry_flush(const char *machine)
@ -659,6 +667,7 @@ static void test_retry_flush(const char *machine)
assert_bit_clear(data, BSY | DF | ERR | DRQ);
ide_test_quit();
free_pci_device(dev);
}
static void test_flush_nodev(void)
@ -676,6 +685,7 @@ static void test_flush_nodev(void)
/* Just testing that qemu doesn't crash... */
free_pci_device(dev);
ide_test_quit();
}
@ -742,6 +752,7 @@ static uint8_t ide_wait_clear(uint8_t flag)
while (true) {
data = qpci_io_readb(dev, ide_bar, reg_status);
if (!(data & flag)) {
free_pci_device(dev);
return data;
}
if (difftime(time(NULL), st) > 5.0) {
@ -851,6 +862,7 @@ static void cdrom_pio_impl(int nblocks)
g_free(pattern);
g_free(rx);
test_bmdma_teardown();
free_pci_device(dev);
}
static void test_cdrom_pio(void)