diff --git a/src/common/slurm_protocol_socket_implementation.c b/src/common/slurm_protocol_socket_implementation.c index 6705d1dc27476fcdd39779f39b929f4fcb750324..a07f5b7da2828bb38bde8f3550a39d5248905294 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;