--- libaitio/src/Attic/tools.c 2012/05/14 15:08:26 1.11.2.1 +++ libaitio/src/Attic/tools.c 2012/05/14 15:26:50 1.11.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: tools.c,v 1.11.2.1 2012/05/14 15:08:26 misho Exp $ +* $Id: tools.c,v 1.11.2.3 2012/05/14 15:26:50 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -484,6 +484,8 @@ io_gethostbyname(const char *psHost, u_short port, io_ if (!psHost || !addr) return NULL; + else + memset(addr, 0, sizeof(io_sockaddr_t)); if (*psHost != '/') { /* resolver */ @@ -499,7 +501,6 @@ io_gethostbyname(const char *psHost, u_short port, io_ } else addr->sa.sa_family = AF_LOCAL; - memset(addr, 0, sizeof(io_sockaddr_t)); switch (addr->sa.sa_family) { case AF_INET: addr->sin.sin_len = sizeof(struct sockaddr_in); @@ -516,7 +517,8 @@ io_gethostbyname(const char *psHost, u_short port, io_ case AF_LOCAL: addr->sun.sun_len = sizeof(struct sockaddr_un); addr->sun.sun_family = AF_LOCAL; - strlcpy(addr->sun.sun_path, psHost, sizeof addr->sun.sun_path); + memset(addr->sun.sun_path, 0, sizeof addr->sun.sun_path); + snprintf(addr->sun.sun_path, sizeof addr->sun.sun_path, "%s-%hu", psHost, port); return addr; default: io_SetErr(EPROTONOSUPPORT, "Unsuported address family %d", addr->sa.sa_family);