*** Xtranssock.c.orig Sun Jul 3 02:01:01 2005 --- Xtranssock.c Tue Aug 2 16:00:12 2005 *************** *** 2225,2252 **** /* * If this is the server side, then once the socket is closed, * it must be unlinked to completely close it */ struct sockaddr_un *sockname = (struct sockaddr_un *) ciptr->addr; - char path[200]; /* > sizeof sun_path +1 */ int ret; PRMSG (2,"SocketUNIXClose(%p,%d)\n", ciptr, ciptr->fd, 0); ret = close(ciptr->fd); if (ciptr->flags && sockname && sockname->sun_family == AF_UNIX && sockname->sun_path[0]) { - strncpy (path, sockname->sun_path, - ciptr->addrlen - sizeof (sockname->sun_family)); if (!(ciptr->flags & TRANS_NOUNLINK)) ! unlink (path); } return ret; } static int --- 2225,2249 ---- /* * If this is the server side, then once the socket is closed, * it must be unlinked to completely close it */ struct sockaddr_un *sockname = (struct sockaddr_un *) ciptr->addr; int ret; PRMSG (2,"SocketUNIXClose(%p,%d)\n", ciptr, ciptr->fd, 0); ret = close(ciptr->fd); if (ciptr->flags && sockname && sockname->sun_family == AF_UNIX && sockname->sun_path[0]) { if (!(ciptr->flags & TRANS_NOUNLINK)) ! unlink (sockname->sun_path); } return ret; } static int