From ab78c7f54aa9f90cb98e21b4adfc7c46e14b1102 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Fri, 27 Feb 2015 19:25:55 +0900 Subject: [PATCH] orted/pmix: fix misc resource leak as reported by Coverity with CID 1269844 --- orte/orted/pmix/pmix_server.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/orte/orted/pmix/pmix_server.c b/orte/orted/pmix/pmix_server.c index 0f4c8167c1..edf2b659c9 100644 --- a/orte/orted/pmix/pmix_server.c +++ b/orte/orted/pmix/pmix_server.c @@ -16,7 +16,7 @@ * Copyright (c) 2013-2014 Intel, Inc. All rights reserved. * Copyright (c) 2014 Mellanox Technologies, Inc. * All rights reserved. - * Copyright (c) 2014 Research Organization for Information Science + * Copyright (c) 2014-2015 Research Organization for Information Science * and Technology (RIST). All rights reserved. * $COPYRIGHT$ * @@ -438,6 +438,8 @@ static int pmix_server_start_listening(struct sockaddr_un *address) if (listen(sd, SOMAXCONN) < 0) { opal_output(0, "pmix_server_component_init: listen(): %s (%d)", strerror(opal_socket_errno), opal_socket_errno); + + CLOSE_THE_SOCKET(sd); return ORTE_ERROR; } @@ -445,12 +447,14 @@ static int pmix_server_start_listening(struct sockaddr_un *address) if ((flags = fcntl(sd, F_GETFL, 0)) < 0) { opal_output(0, "pmix_server_component_init: fcntl(F_GETFL) failed: %s (%d)", strerror(opal_socket_errno), opal_socket_errno); + CLOSE_THE_SOCKET(sd); return ORTE_ERROR; } flags |= O_NONBLOCK; if (fcntl(sd, F_SETFL, flags) < 0) { opal_output(0, "pmix_server_component_init: fcntl(F_SETFL) failed: %s (%d)", strerror(opal_socket_errno), opal_socket_errno); + CLOSE_THE_SOCKET(sd); return ORTE_ERROR; }