summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ypserv/yp_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/ypserv/yp_main.c')
-rw-r--r--usr.sbin/ypserv/yp_main.c7
1 files changed, 5 insertions, 2 deletions
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;
}
OpenPOWER on IntegriCloud