vsocket->conn_mutex was allocated with pthread_mutex_init() but never freed with pthread_mutex_destroy(). This is a potential memory leak, depending on how pthread_mutex_t is implemented.
Signed-off-by: Daniel Verkamp <daniel.verk...@intel.com> --- lib/librte_vhost/socket.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c index c7f99b0..9720773 100644 --- a/lib/librte_vhost/socket.c +++ b/lib/librte_vhost/socket.c @@ -636,6 +636,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags) vsocket->reconnect = !(flags & RTE_VHOST_USER_NO_RECONNECT); if (vsocket->reconnect && reconn_tid == 0) { if (vhost_user_reconnect_init() < 0) { + pthread_mutex_destroy(&vsocket->conn_mutex); free(vsocket->path); free(vsocket); goto out; @@ -646,6 +647,7 @@ rte_vhost_driver_register(const char *path, uint64_t flags) } ret = create_unix_socket(vsocket); if (ret < 0) { + pthread_mutex_destroy(&vsocket->conn_mutex); free(vsocket->path); free(vsocket); goto out; @@ -724,6 +726,7 @@ rte_vhost_driver_unregister(const char *path) } pthread_mutex_unlock(&vsocket->conn_mutex); + pthread_mutex_destroy(&vsocket->conn_mutex); free(vsocket->path); free(vsocket); -- 2.9.4