add: for (r=0; r<n->ip.len/4; r++) {  n->ip.u.addr32[r] &= n->mask.u.addr32[r]; if (n->ip.u.addr32[r]!=ip->u.addr32[r]) warning=1; }; if (warning){ LOG(L_WARN, "WARNING: mk_net: invalid network address/netmask " "combination fixed...\n"); print_ip("original network address:", ip, "/"); print_ip("", mask, "\n"); print_ip("fixed    network address:", &(n->ip), "/"); print_ip("", &(n->mask), "\n"); };
context: struct net* mk_net(struct ip_addr* ip, struct ip_addr* mask){	struct net* n;		if ((ip->af != mask->af) || (ip->len != mask->len)){		LOG(L_CRIT, "ERROR: mk_net: trying to use a different mask family"				" (eg. ipv4/ipv6mask or ipv6/ipv4mask)\n");		goto error;	}	n=(struct net*)pkg_malloc(sizeof(struct net));	if (n==0){ 		LOG(L_CRIT, "ERROR: mk_net: memory allocation failure\n");		goto error;	}	n->ip=*ip;	n->mask=*mask;	return n;error:	return 0;}