net/virtio-user: fix resource leaks
authorJianfeng Tan <jianfeng.tan@intel.com>
Wed, 29 Jun 2016 09:05:35 +0000 (09:05 +0000)
committerYuanhan Liu <yuanhan.liu@linux.intel.com>
Tue, 5 Jul 2016 11:30:24 +0000 (13:30 +0200)
The return value by rte_kvargs_parse is not free(d), which leads
to memory leak.

Coverity issue: 127482
Fixes: ce2eabdd43ec ("net/virtio-user: add virtual device")

Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
drivers/net/virtio/virtio_user_ethdev.c

index dc6f0dd..782d7d3 100644 (file)
@@ -320,7 +320,7 @@ virtio_user_eth_dev_alloc(const char *name)
 static int
 virtio_user_pmd_devinit(const char *name, const char *params)
 {
-       struct rte_kvargs *kvlist;
+       struct rte_kvargs *kvlist = NULL;
        struct rte_eth_dev *eth_dev;
        struct virtio_hw *hw;
        uint64_t queues = VIRTIO_USER_DEF_Q_NUM;
@@ -422,6 +422,8 @@ virtio_user_pmd_devinit(const char *name, const char *params)
        ret = 0;
 
 end:
+       if (kvlist)
+               rte_kvargs_free(kvlist);
        if (path)
                free(path);
        if (mac_addr)