diff --git a/utils.c b/utils.c index 1c978664deee149c46a87da04318b03b0abc5deb..51875aea9a1a60dcdddb649b7d138f4cd76d93ce 100644 --- a/utils.c +++ b/utils.c @@ -759,7 +759,7 @@ send_pid_on_socket (int sockfd) struct msghdr msg = {}; struct iovec iov = { buf, sizeof (buf) }; const ssize_t control_len_snd = CMSG_SPACE(sizeof(struct ucred)); - char control_buf_snd[control_len_snd]; + _Alignas(struct cmsghdr) char control_buf_snd[control_len_snd]; struct cmsghdr *cmsg; struct ucred cred; @@ -801,7 +801,7 @@ read_pid_from_socket (int sockfd) struct msghdr msg = {}; struct iovec iov = { recv_buf, sizeof (recv_buf) }; const ssize_t control_len_rcv = CMSG_SPACE(sizeof(struct ucred)); - char control_buf_rcv[control_len_rcv]; + _Alignas(struct cmsghdr) char control_buf_rcv[control_len_rcv]; struct cmsghdr* cmsg; msg.msg_iov = &iov;