X-Git-Url: https://git.distorted.org.uk/~mdw/fwd/blobdiff_plain/aa1f699e11e882dd1a8af4a7ceb114b85b1c28dd..00e3c0f1bbe99682debd4e34d3d3bd950f8c30cb:/un.c diff --git a/un.c b/un.c index c0a2cc9..e120f95 100644 --- a/un.c +++ b/un.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: un.c,v 1.1 1999/07/26 23:34:11 mdw Exp $ + * $Id: un.c,v 1.5 2002/02/22 23:43:32 mdw Exp $ * * Protocol specific definitions for Unix-domain sockets * @@ -29,6 +29,18 @@ /*----- Revision history --------------------------------------------------* * * $Log: un.c,v $ + * Revision 1.5 2002/02/22 23:43:32 mdw + * Call @xfree@ rather than @free@. + * + * Revision 1.4 2000/08/01 17:59:56 mdw + * Switch over to using `size_t' for socket address lengths. + * + * Revision 1.3 2000/08/01 17:58:32 mdw + * Remove unnecessary header. + * + * Revision 1.2 1999/07/27 18:30:53 mdw + * Various minor portability fixes. + * * Revision 1.1 1999/07/26 23:34:11 mdw * New socket address types. * @@ -37,8 +49,8 @@ /*----- Header files ------------------------------------------------------*/ #include "config.h" +#undef sun /* Cretins */ -#include #include #include #include @@ -94,6 +106,7 @@ static addr *un_read(scanner *sc, unsigned type) d.len + 1); ua->a.ops = &un_ops; ua->a.sz = offsetof(struct sockaddr_un, sun_path) + d.len + 1; + memset(&ua->sun, 0, ua->a.sz); ua->sun.sun_family = AF_UNIX; memcpy(ua->sun.sun_path, d.buf, d.len + 1); dstr_destroy(&d); @@ -105,7 +118,7 @@ static addr *un_read(scanner *sc, unsigned type) static void un_destroy(addr *a) { un_addr *ua = (un_addr *)a; - free(ua); + xfree(ua); } /* --- @print@ --- */ @@ -151,7 +164,7 @@ static reffd *un_accept(int fd, addr_opts *ao, const char *desc) { char buf[PATH_MAX + sizeof(struct sockaddr)]; struct sockaddr_un *sun = (struct sockaddr_un *)buf; - int sunsz = sizeof(buf); + size_t sunsz = sizeof(buf); if ((nfd = accept(fd, (struct sockaddr *)sun, &sunsz)) < 0) return (0);