From 3c01e31040c2984c114ac9977789b76185e726e6 Mon Sep 17 00:00:00 2001 From: eadler Date: Wed, 21 Dec 2011 20:27:41 +0000 Subject: - Remove extraneous null ptr deref checks - Fix memory leak Submitted by: Slono Slono Approved by: jhb MFC after: 1 week --- usr.sbin/ypserv/yp_main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'usr.sbin/ypserv') diff --git a/usr.sbin/ypserv/yp_main.c b/usr.sbin/ypserv/yp_main.c index 7473e6f..6da1ea5 100644 --- a/usr.sbin/ypserv/yp_main.c +++ b/usr.sbin/ypserv/yp_main.c @@ -256,6 +256,7 @@ create_service(const int sock, const struct netconfig *nconf, const struct __rpc_sockinfo *si) { int error; + char *sname; SVCXPRT *transp; struct addrinfo hints, *res, *res0; @@ -263,6 +264,7 @@ create_service(const int sock, const struct netconfig *nconf, struct bindaddrlistent *blep; struct netbuf svcaddr; + sname = NULL; SLIST_INIT(&sle_head); memset(&hints, 0, sizeof(hints)); memset(&svcaddr, 0, sizeof(svcaddr)); @@ -342,7 +344,6 @@ create_service(const int sock, const struct netconfig *nconf, if (strncmp("0", servname, 1) == 0) { struct sockaddr *sap; socklen_t slen; - char *sname; sname = malloc(NI_MAXSERV); if (sname == NULL) { @@ -362,6 +363,7 @@ create_service(const int sock, const struct netconfig *nconf, strerror(errno)); freeaddrinfo(res0); close(s); + free(sname); return -1; } error = getnameinfo(sap, slen, @@ -373,6 +375,7 @@ create_service(const int sock, const struct netconfig *nconf, strerror(errno)); freeaddrinfo(res0); close(s); + free(sname); return -1; } servname = sname; @@ -441,7 +444,7 @@ create_service(const int sock, const struct netconfig *nconf, } /* XXX: ignore error intentionally */ rpcb_set(YPPROG, YPVERS, nconf, &svcaddr); - + free (sname); freeaddrinfo(res0); return 0; } -- cgit v1.1