[dpdk-dev] [PATCH] drivers/event: fix resource leak in selftest

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Mon Jan 22 18:46:01 CET 2018


Free resources leak in eventdev selftests.

Coverity issue: 257044
Coverity issue: 257047
Coverity issue: 257009
Fixes: 9ef576176db0 ("test/eventdev: add octeontx multi queue and multi port")
Fixes: 3a17ff401f1e ("test/eventdev: add basic SW tests")
Fixes: 5e6eb5ccd788 ("event/sw: make test standalone")

Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---
 drivers/event/octeontx/ssovf_evdev_selftest.c | 4 +++-
 drivers/event/sw/sw_evdev_selftest.c          | 6 +++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/event/octeontx/ssovf_evdev_selftest.c b/drivers/event/octeontx/ssovf_evdev_selftest.c
index 3866ba968..5e012a95a 100644
--- a/drivers/event/octeontx/ssovf_evdev_selftest.c
+++ b/drivers/event/octeontx/ssovf_evdev_selftest.c
@@ -624,8 +624,10 @@ launch_workers_and_wait(int (*master_worker)(void *),
 
 	ret = rte_event_dequeue_timeout_ticks(evdev,
 		rte_rand() % 10000000/* 10ms */, &dequeue_tmo_ticks);
-	if (ret)
+	if (ret) {
+		free(param);
 		return -1;
+	}
 
 	param[0].total_events = &atomic_total_events;
 	param[0].sched_type = sched_type;
diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c
index 8c2eef569..78d30e07a 100644
--- a/drivers/event/sw/sw_evdev_selftest.c
+++ b/drivers/event/sw/sw_evdev_selftest.c
@@ -3016,9 +3016,12 @@ static struct rte_mempool *eventdev_func_mempool;
 int
 test_sw_eventdev(void)
 {
-	struct test *t = malloc(sizeof(struct test));
+	struct test *t;
 	int ret;
 
+	t = malloc(sizeof(struct test));
+	if (t == NULL)
+		return -1;
 	/* manually initialize the op, older gcc's complain on static
 	 * initialization of struct elements that are a bitfield.
 	 */
@@ -3236,6 +3239,7 @@ test_sw_eventdev(void)
 	printf("SW Eventdev Selftest Successful.\n");
 	return 0;
 test_fail:
+	free(t);
 	printf("SW Eventdev Selftest Failed.\n");
 	return -1;
 }
-- 
2.16.0



More information about the dev mailing list