summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/machine/machinectl.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/machine/machinectl.c b/src/machine/machinectl.c
index 894309c7d2..c48abcd0bb 100644
--- a/src/machine/machinectl.c
+++ b/src/machine/machinectl.c
@@ -409,11 +409,14 @@ static int openpt_in_namespace(pid_t pid, int flags) {
_cleanup_close_ int nsfd = -1, rootfd = -1;
_cleanup_free_ char *ns = NULL, *root = NULL;
_cleanup_close_pipe_ int sock[2] = { -1, -1 };
- struct msghdr mh;
union {
struct cmsghdr cmsghdr;
uint8_t buf[CMSG_SPACE(sizeof(int))];
- } control;
+ } control = {};
+ struct msghdr mh = {
+ .msg_control = &control,
+ .msg_controllen = sizeof(control),
+ };
struct cmsghdr *cmsg;
int master = -1, r;
pid_t child;
@@ -438,11 +441,6 @@ static int openpt_in_namespace(pid_t pid, int flags) {
if (socketpair(AF_UNIX, SOCK_DGRAM, 0, sock) < 0)
return -errno;
- zero(control);
- zero(mh);
- mh.msg_control = &control;
- mh.msg_controllen = sizeof(control);
-
child = fork();
if (child < 0)
return -errno;