29 lines
953 B
C
29 lines
953 B
C
--- src/common/xsystemd.c.orig 2026-01-15 20:26:01 UTC
|
|
+++ src/common/xsystemd.c
|
|
@@ -45,6 +45,7 @@
|
|
#include "src/common/read_config.h"
|
|
#include "src/common/slurm_protocol_defs.h"
|
|
#include "src/common/strlcpy.h"
|
|
+#include "src/common/slurm_sockaddr.h"
|
|
#include "src/common/xmalloc.h"
|
|
#include "src/common/xstring.h"
|
|
|
|
@@ -89,7 +90,6 @@ extern void xsystemd_change_mainpid(pid_t pid)
|
|
{
|
|
char *notify_socket = getenv("NOTIFY_SOCKET");
|
|
char *payload = NULL;
|
|
- size_t len = 0;
|
|
struct sockaddr_un addr = { .sun_family = AF_UNIX };
|
|
int fd = -1;
|
|
|
|
@@ -99,7 +99,8 @@ extern void xsystemd_change_mainpid(pid_t pid)
|
|
}
|
|
|
|
strlcpy(addr.sun_path, notify_socket, sizeof(addr.sun_path));
|
|
- len = strlen(addr.sun_path) + 1 + sizeof(addr.sun_family);
|
|
+ socklen_t len = slurm_sockaddr_fixlen((struct sockaddr *)&addr,
|
|
+ (socklen_t)sizeof(addr));
|
|
|
|
if ((fd = socket(AF_UNIX, SOCK_DGRAM, 0)) < 0) {
|
|
error("%s: socket() failed: %m", __func__);
|