drivers/event: fix resource leak in selftest
authorPavan Nikhilesh <pbhagavatula@caviumnetworks.com>
Mon, 22 Jan 2018 17:46:01 +0000 (23:16 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Wed, 24 Jan 2018 18:01:31 +0000 (19:01 +0100)
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@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
drivers/event/octeontx/ssovf_evdev_selftest.c
drivers/event/sw/sw_evdev_selftest.c

index 3866ba9..5e012a9 100644 (file)
@@ -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;
index 8c2eef5..78d30e0 100644 (file)
@@ -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;
 }