Peter Maydell <[email protected]> writes: > The QPCIDevice we get via qpci_device_foreach() is allocated > memory, and we need to g_free() it after use. > > This fixes asan leaks like this: > > Direct leak of 64 byte(s) in 1 object(s) allocated from: > #0 0x622a5f16913d in calloc > (/home/pm215/qemu/build/arm-clang/tests/qtest/iommu-smmuv3-test+0x1d413d) > (BuildId: bc598be1f4ad6d1a9a600c55aeef36108bdb6a04) > #1 0x73ee41c0f771 in g_malloc0 > (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x63771) (BuildId: > 116e142b9b52c8a4dfd403e759e71ab8f95d8bb3) > #2 0x622a5f1d4cec in qpci_device_find > /home/pm215/qemu/build/arm-clang/../../tests/qtest/libqos/pci.c:82:11 > #3 0x622a5f1d4cec in qpci_device_foreach > /home/pm215/qemu/build/arm-clang/../../tests/qtest/libqos/pci.c:34:19 > #4 0x622a5f23cc73 in setup_qtest_pci_device > /home/pm215/qemu/build/arm-clang/../../tests/qtest/iommu-smmuv3-test.c:45:5 > #5 0x622a5f23cc73 in run_smmuv3_translation > /home/pm215/qemu/build/arm-clang/../../tests/qtest/iommu-smmuv3-test.c:74:11 > > > Signed-off-by: Peter Maydell <[email protected]> > --- > tests/qtest/iommu-smmuv3-test.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/tests/qtest/iommu-smmuv3-test.c b/tests/qtest/iommu-smmuv3-test.c > index cced49a9b6..dae9821b92 100644 > --- a/tests/qtest/iommu-smmuv3-test.c > +++ b/tests/qtest/iommu-smmuv3-test.c > @@ -77,6 +77,7 @@ static void run_smmuv3_translation(const QSMMUTestConfig > *cfg) > g_test_message("### SMMUv3 translation mode=%d sec_sid=%d ###", > cfg->trans_mode, cfg->sec_sid); > qsmmu_run_translation_case(qts, dev, bar, VIRT_SMMU_BASE, cfg); > + g_free(dev); > qtest_quit(qts); > }
Reviewed-by: Fabiano Rosas <[email protected]>
