From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cb6CP-0007ro-Tl for qemu-devel@nongnu.org; Tue, 07 Feb 2017 08:52:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cb6CO-00082v-UM for qemu-devel@nongnu.org; Tue, 07 Feb 2017 08:52:50 -0500 Received: from mx1.redhat.com ([209.132.183.28]:33826) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cb6CO-00082O-Lj for qemu-devel@nongnu.org; Tue, 07 Feb 2017 08:52:48 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BDD8A7E9EF for ; Tue, 7 Feb 2017 13:52:48 +0000 (UTC) From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Date: Tue, 7 Feb 2017 17:51:52 +0400 Message-Id: <20170207135211.15870-10-marcandre.lureau@redhat.com> In-Reply-To: <20170207135211.15870-1-marcandre.lureau@redhat.com> References: <20170207135211.15870-1-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH 09/28] tests: fix ide-test leaks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , John Snow Spotted by ASAN. Cc: John Snow Signed-off-by: Marc-Andr=C3=A9 Lureau --- tests/ide-test.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/ide-test.c b/tests/ide-test.c index fb541f88b5..2fa97bc36b 100644 --- a/tests/ide-test.c +++ b/tests/ide-test.c @@ -339,6 +339,7 @@ static void test_bmdma_simple_rw(void) g_assert(memcmp(buf, cmpbuf, len) =3D=3D 0); =20 =20 + 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, =3D=3D, 0); assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR); + free_pci_device(dev); } =20 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, =3D=3D, 0); assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR); + free_pci_device(dev); } =20 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, =3D=3D, BM_STS_INTR); assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR); + free_pci_device(dev); } =20 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, =3D=3D, BM_STS_ACTIVE | BM_STS_INTR); assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR); + free_pci_device(dev); } =20 static void test_bmdma_setup(void) @@ -525,6 +530,7 @@ static void test_identify(void) assert_bit_set(buf[85], 0x20); =20 ide_test_quit(); + free_pci_device(dev); } =20 /* @@ -562,6 +568,7 @@ static void make_dirty(uint8_t device) assert_bit_clear(qpci_io_readb(dev, ide_bar, reg_status), DF | ERR); =20 g_free(buf); + free_pci_device(dev); } =20 static void test_flush(void) @@ -608,6 +615,7 @@ static void test_flush(void) assert_bit_clear(data, BSY | DF | ERR | DRQ); =20 ide_test_quit(); + free_pci_device(dev); } =20 static void test_retry_flush(const char *machine) @@ -658,6 +666,7 @@ static void test_retry_flush(const char *machine) assert_bit_clear(data, BSY | DF | ERR | DRQ); =20 ide_test_quit(); + free_pci_device(dev); } =20 static void test_flush_nodev(void) @@ -675,6 +684,7 @@ static void test_flush_nodev(void) =20 /* Just testing that qemu doesn't crash... */ =20 + free_pci_device(dev); ide_test_quit(); } =20 @@ -741,6 +751,7 @@ static uint8_t ide_wait_clear(uint8_t flag) while (true) { data =3D qpci_io_readb(dev, ide_bar, reg_status); if (!(data & flag)) { + free_pci_device(dev); return data; } if (difftime(time(NULL), st) > 5.0) { @@ -850,6 +861,7 @@ static void cdrom_pio_impl(int nblocks) g_free(pattern); g_free(rx); test_bmdma_teardown(); + free_pci_device(dev); } =20 static void test_cdrom_pio(void) --=20 2.11.0.295.gd7dffce1c.dirty