add: memset(su, 0, sizeof(union sockaddr_union));
context: static inline int init_su( union sockaddr_union* su,							struct ip_addr* ip,							unsigned short   port ) {	su->s.sa_family=ip->af;	switch(ip->af){#ifdef USE_IPV6	case	AF_INET6:		memcpy(&su->sin6.sin6_addr, ip->u.addr, ip->len); 		#ifdef __FreeBSD__			su->sin6.sin6_len=sizeof(struct sockaddr_in6);		#endif		su->sin6.sin6_port=port;		break;#endif	case AF_INET:		memcpy(&su->sin.sin_addr, ip->u.addr, ip->len);		#ifdef __FreeBSD__			su->sin.sin_len=sizeof(struct sockaddr_in);		#endif		su->sin.sin_port=port;		break;	default:		LOG(L_CRIT, "init_ss: BUG: unknown address family %d\n", ip->af);		return -1;	}	return 0;}