Index: src/unix/ifnet.c
--- src/unix/ifnet.c.orig
+++ src/unix/ifnet.c
@@ -632,7 +632,10 @@ chk_if_up(struct olsr_if *iface, int debuglvl __attrib
     /* Find broadcast address */
     if (iface->cnf->ipv4_multicast.v4.s_addr) {
       /* Specified broadcast */
-      memcpy(&((struct sockaddr_in *)&ifs.int_broadaddr)->sin_addr.s_addr, &iface->cnf->ipv4_multicast.v4, sizeof(uint32_t));
+      struct sockaddr_in *sin = &ifs.int_broadaddr;
+      memcpy(&sin->sin_addr.s_addr, &iface->cnf->ipv4_multicast.v4, sizeof(uint32_t));
+      sin->sin_len = sizeof(*sin);
+      sin->sin_family = AF_INET;
     } else {
       /* Autodetect */
       struct sockaddr* ifrb;
