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 <david.h...@intel.com>
---
 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 06df13d..4725904 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.7.4

Reply via email to