From 3ac19dd09adbc3402c43b8d8ee6e5c9f930930eb Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Fri, 8 Dec 2006 16:36:13 +0000
Subject: [PATCH] Check for error in getsockeopt() call.

---
 src/common/slurm_protocol_socket_implementation.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/common/slurm_protocol_socket_implementation.c b/src/common/slurm_protocol_socket_implementation.c
index 6705d1dc274..a07f5b7da28 100644
--- a/src/common/slurm_protocol_socket_implementation.c
+++ b/src/common/slurm_protocol_socket_implementation.c
@@ -592,8 +592,10 @@ extern int _slurm_connect (int __fd, struct sockaddr const * __addr,
 			if (ufds.revents & POLLERR) {
 				int err = 0;
 				socklen_t size;
-				getsockopt(__fd, SOL_SOCKET, SO_ERROR, &err, &size);
-				slurm_seterrno(err);
+				if (getsockopt(__fd, SOL_SOCKET, SO_ERROR, 
+						&err, &size) == 0) {
+					slurm_seterrno(err);
+				}
 				debug2("connect failure: %m");
 			} else
 				rc = 0;
-- 
GitLab