We should free "test" before the return of run_test. Signed-off-by: Peng Fan <fanpeng@xxxxxxxxxxx> --- tools/pci/pcitest.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tools/pci/pcitest.c b/tools/pci/pcitest.c index 0a1344c..7c20332 100644 --- a/tools/pci/pcitest.c +++ b/tools/pci/pcitest.c @@ -47,6 +47,7 @@ static int run_test(struct pci_test *test) fd = open(test->device, O_RDWR); if (fd < 0) { perror("can't open PCI Endpoint Test device"); + free(test); return -ENODEV; } @@ -151,6 +152,7 @@ static int run_test(struct pci_test *test) fflush(stdout); close(fd); + free(test); return (ret < 0) ? ret : 1 - ret; /* return 0 if test succeeded */ } -- 2.1.0