Add '6' to server options when compiled with IPv6 support (and related
[ircu2.10.12-pk.git] / ircd / ircd_parser.y
index 2bba81662e85bbd27a11c82cf3f33590a4f26eb8..2937d92bd8afdb885377a2c01c7653853803f2eb 100644 (file)
@@ -652,7 +652,7 @@ clientblock: CLIENT
 '{' clientitems '}' ';'
 {
   struct irc_in_addr addr;
-  unsigned char addrbits;
+  unsigned char addrbits = 0;
 
   if (ip && !ipmask_parse(ip, &addr, &addrbits)) {
     parse_error("Invalid IP address in block");
@@ -663,7 +663,10 @@ clientblock: CLIENT
     struct ConfItem *aconf = make_conf(CONF_CLIENT);
     aconf->username = username;
     aconf->host = host;
-    memcpy(&aconf->address.addr, &addr, sizeof(aconf->address.addr));
+    if (ip)
+      memcpy(&aconf->address.addr, &addr, sizeof(aconf->address.addr));
+    else
+      memset(&aconf->address.addr, 0, sizeof(aconf->address.addr));
     aconf->addrbits = addrbits;
     aconf->name = ip;
     aconf->conn_class = c_class ? c_class : find_class("default");