chiark / gitweb /
server/: Post-merge fixup.
[tripe] / server / peer.c
index a8099e41adb7776a026f283b10bf625d810eb65c..341ea38bcd6d245c60453c2c9ec2099e5b9fd47a 100644 (file)
@@ -527,9 +527,14 @@ buf *p_txstart(peer *p, unsigned msg)
 int p_txaddr(const addr *a, const void *p, size_t sz)
 {
   socklen_t sasz = addrsz(a);
+  int i;
 
+  if ((i = afix(a->sa.sa_family)) < 0) {
+    a_warn("PEER", "?ADDR", a, "disabled-address-family", A_END);
+    return (-1);
+  }
   IF_TRACING(T_PEER, trace_block(T_PACKET, "peer: sending packet", p, sz); )
-  if (sendto(sock.fd, p, sz, 0, &a->sa, sasz) < 0) {
+  if (sendto(udpsock[i].fd, p, sz, 0, &a->sa, sasz) < 0) {
     a_warn("PEER", "?ADDR", a, "socket-write-error", "?ERRNO", A_END);
     return (-1);
   }