Files
ports/sysutils/slurm-wlm/files/patch-src_common_net.c
T
2026-10-04 04:07:15 +00:00

30 lines
999 B
C

--- src/common/net.c.orig 2026-01-15 20:26:01 UTC
+++ src/common/net.c
@@ -81,6 +81,7 @@
#include "src/common/log.h"
#include "src/common/macros.h"
#include "src/common/net.h"
+#include "src/common/slurm_sockaddr.h"
#include "src/common/slurm_protocol_api.h"
#include "src/common/util-net.h"
#include "src/common/xmalloc.h"
@@ -108,6 +109,8 @@ int net_stream_listen(int *fd, uint16_t *port)
/* bind ephemeral port */
slurm_setup_addr(&sin, 0);
+ len = slurm_sockaddr_fixlen((struct sockaddr *)&sin, len);
+
if ((*fd = socket(sin.ss_family, SOCK_STREAM, IPPROTO_TCP)) < 0)
return -1;
@@ -259,7 +262,8 @@ static bool _is_port_ok(int s, uint16_t port, bool loc
return false;
}
- if (bind(s, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
+ socklen_t alen = slurm_sockaddr_fixlen((struct sockaddr *)&addr, sizeof(addr));
+ if (bind(s, (struct sockaddr *) &addr, alen) < 0) {
log_flag(NET, "%s: bind() failed on port:%d fd:%d: %m",
__func__, port, s);
return false;