pimd: cast to sockaddr_in to sockaddr

While glibc seems to have something in the system headers that prevents
this from triggering a warning, FreeBSD doesn't.  Fix the warning.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c
index 3baddbf..3657f2f 100644
--- a/pimd/pim_igmpv3.c
+++ b/pimd/pim_igmpv3.c
@@ -1680,7 +1680,8 @@
 #endif
   tolen = sizeof(to);
 
-  sent = sendto(fd, query_buf, msg_size, MSG_DONTWAIT, &to, tolen);
+  sent = sendto(fd, query_buf, msg_size, MSG_DONTWAIT,
+                (struct sockaddr *)&to, tolen);
   if (sent != (ssize_t) msg_size) {
     int e = errno;
     char dst_str[100];
diff --git a/pimd/pim_pim.c b/pimd/pim_pim.c
index f6f4c95..f8ac650 100644
--- a/pimd/pim_pim.c
+++ b/pimd/pim_pim.c
@@ -476,7 +476,8 @@
     pim_pkt_dump(__PRETTY_FUNCTION__, pim_msg, pim_msg_size);
   }
 
-  sent = sendto(fd, pim_msg, pim_msg_size, MSG_DONTWAIT, &to, tolen);
+  sent = sendto(fd, pim_msg, pim_msg_size, MSG_DONTWAIT,
+                (struct sockaddr *)&to, tolen);
   if (sent != (ssize_t) pim_msg_size) {
     int e = errno;
     char dst_str[100];
diff --git a/pimd/pim_ssmpingd.c b/pimd/pim_ssmpingd.c
index fd1eac0..82e0722 100644
--- a/pimd/pim_ssmpingd.c
+++ b/pimd/pim_ssmpingd.c
@@ -96,7 +96,7 @@
   sockaddr.sin_addr   = addr;
   sockaddr.sin_port   = htons(port);
 
-  if (bind(fd, &sockaddr, sizeof(sockaddr))) {
+  if (bind(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr))) {
     char addr_str[100];
     pim_inet4_dump("<addr?>", addr, addr_str, sizeof(addr_str));
     zlog_warn("%s: bind(fd=%d,addr=%s,port=%d,len=%zu) failure: errno=%d: %s",
@@ -222,7 +222,8 @@
   socklen_t tolen = sizeof(to);
   int sent;
 
-  sent = sendto(ss->sock_fd, buf, len, MSG_DONTWAIT, &to, tolen);
+  sent = sendto(ss->sock_fd, buf, len, MSG_DONTWAIT,
+                (struct sockaddr *)&to, tolen);
   if (sent != len) {
     int e = errno;
     char to_str[100];