summaryrefslogtreecommitdiff
path: root/ospfd/ospf_packet.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_packet.c')
-rw-r--r--ospfd/ospf_packet.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index ce82ee27..8bc49666 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -1881,7 +1881,12 @@ ospf_recv_packet (int fd, struct interface **ifp)
unsigned int ifindex = 0;
struct iovec iov;
struct cmsghdr *cmsg;
- char buff [sizeof (*cmsg) + SOPT_SIZE_CMSG_PKTINFO_IPV4()];
+#if defined(CMSG_SPACE)
+ /* Header and data both require alignment. */
+ char buff [CMSG_SPACE(SIZE_CMSG_IFINDEX_IPV4())];
+#else
+ char buff [sizeof (*cmsg) + SOPT_SIZE_CMSG_IFINDEX_IPV4()];
+#endif
struct msghdr msgh;
msgh.msg_name = NULL;