family variable can be unset when matching any address
diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx
index 6fca301..47c2a04 100644
--- a/common/network/TcpSocket.cxx
+++ b/common/network/TcpSocket.cxx
@@ -848,6 +848,8 @@
     }
   }
 
+  family = pattern.address.u.sa.sa_family;
+
   if (pattern.prefixlen > (family == AF_INET ? 32: 128))
     throw Exception("invalid prefix length for filter address: %u",
                     pattern.prefixlen);