Add file descriptor value check before calling close() function.

Coverity issue: 141297
Fixes: 811b6b25060f ("vfio: fix file descriptor leak in multi-process")
Cc: patr...@patrickmacarthur.net
Cc: sta...@dpdk.org

Signed-off-by: Kuba Kozak <kubax.ko...@intel.com>
---
 lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c 
b/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
index 7e8095c..c04f548 100644
--- a/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
+++ b/lib/librte_eal/linuxapp/eal/eal_vfio_mp_sync.c
@@ -301,7 +301,8 @@ vfio_mp_sync_thread(void __rte_unused * arg)
                                vfio_mp_sync_send_request(conn_sock, 
SOCKET_ERR);
                        else
                                vfio_mp_sync_send_fd(conn_sock, fd);
-                       close(fd);
+                       if (fd != -1)
+                               close(fd);
                        break;
                case SOCKET_REQ_GROUP:
                        /* wait for group number */
-- 
2.7.4

Reply via email to