From a505e2284448be4b8c8c0e01786ae4b0bac7eac3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Fri, 16 Mar 2018 20:05:05 +0000 Subject: [PATCH] Try to compute the size of ctrl MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- mud.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mud.c b/mud.c index 9b58001..5e5ffe0 100644 --- a/mud.c +++ b/mud.c @@ -80,6 +80,10 @@ #define MUD_SEND_TIMEOUT (MUD_ONE_SEC) #define MUD_TIME_TOLERANCE (10 * MUD_ONE_MIN) +#define MUD_CTRL_SIZE (CMSG_SPACE(MUD_PKTINFO_SIZE) + \ + CMSG_SPACE(sizeof(struct in6_pktinfo)) + \ + CMSG_SPACE(sizeof(int))) + struct mud_crypto_opt { unsigned char *dst; struct { @@ -286,7 +290,7 @@ mud_send_path(struct mud *mud, struct mud_path *path, uint64_t now, if (!size) return 0; - unsigned char ctrl[64] = {0}; + unsigned char ctrl[MUD_CTRL_SIZE] = {0}; struct iovec iov = { .iov_base = data, @@ -1189,7 +1193,7 @@ mud_recv(struct mud *mud, void *data, size_t size) }; struct sockaddr_storage addr; - unsigned char ctrl[64]; + unsigned char ctrl[MUD_CTRL_SIZE]; struct msghdr msg = { .msg_name = &addr,