From 7c37da5a9ad9a9d933643375e23f013a4c43fe77 Mon Sep 17 00:00:00 2001 From: David Hunt Date: Tue, 4 Apr 2017 03:42:41 +0100 Subject: [PATCH] distributor: fix creation error checks Coverity issue 143258: not freeing distributor instance Coverity issue 143254: not checking return code from malloc Fixes: 775003ad2f96 ("distributor: add new burst-capable library") Signed-off-by: David Hunt --- lib/librte_distributor/rte_distributor.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/librte_distributor/rte_distributor.c b/lib/librte_distributor/rte_distributor.c index 06df13d86a..4725904c33 100644 --- a/lib/librte_distributor/rte_distributor.c +++ b/lib/librte_distributor/rte_distributor.c @@ -621,9 +621,14 @@ rte_distributor_create_v1705(const char *name, if (alg_type == RTE_DIST_ALG_SINGLE) { d = malloc(sizeof(struct rte_distributor)); + if (d == NULL) { + rte_errno = ENOMEM; + return NULL; + } d->d_v20 = rte_distributor_create_v20(name, socket_id, num_workers); if (d->d_v20 == NULL) { + free(d); /* rte_errno will have been set */ return NULL; } -- 2.20.1