From: Jakub Grajciar Date: Mon, 5 Aug 2019 09:07:32 +0000 (+0200) Subject: net/memif: fix error paths X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=10bd0ad5128d2ca0fee020c0961c43bd41ecdf8f;p=dpdk.git net/memif: fix error paths Coverity issue: 343440, 343459, 343464, 343394 Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Signed-off-by: Jakub Grajciar --- diff --git a/drivers/net/memif/memif_socket.c b/drivers/net/memif/memif_socket.c index 01a935f87c..137033f689 100644 --- a/drivers/net/memif/memif_socket.c +++ b/drivers/net/memif/memif_socket.c @@ -852,7 +852,7 @@ memif_listener_handler(void *arg) return; error: - if (sockfd > 0) { + if (sockfd >= 0) { close(sockfd); sockfd = -1; } @@ -921,6 +921,8 @@ memif_socket_create(struct pmd_internals *pmd, char *key, uint8_t listener) rte_vdev_device_name(pmd->vdev), key, strerror(errno)); if (sock != NULL) rte_free(sock); + if (sockfd >= 0) + close(sockfd); return NULL; } @@ -1010,6 +1012,7 @@ memif_socket_remove_device(struct rte_eth_dev *dev) struct memif_socket *socket = NULL; struct memif_socket_dev_list_elt *elt, *next; struct rte_hash *hash; + int ret; hash = rte_hash_find_existing(MEMIF_SOCKET_HASH_NAME); if (hash == NULL) @@ -1037,7 +1040,10 @@ memif_socket_remove_device(struct rte_eth_dev *dev) /* remove listener socket file, * so we can create new one later. */ - remove(socket->filename); + ret = remove(socket->filename); + if (ret < 0) + MIF_LOG(ERR, "Failed to remove socket file: %s", + socket->filename); } rte_free(socket); } @@ -1113,7 +1119,7 @@ memif_connect_slave(struct rte_eth_dev *dev) return 0; error: - if (sockfd > 0) { + if (sockfd >= 0) { close(sockfd); sockfd = -1; }