diff --git a/appl/rsh/rsh.c b/appl/rsh/rsh.c index 54307f1bb..f518b99d6 100644 --- a/appl/rsh/rsh.c +++ b/appl/rsh/rsh.c @@ -571,8 +571,10 @@ doit_broken (int argc, if (connect(priv_socket1, addr, socket_sockaddr_size(addr)) < 0) { char **h; - if (hostent->h_addr_list[1] == NULL) + if (hostent->h_addr_list[1] == NULL) { + freehostent (hostent); return 1; + } close(priv_socket1); close(priv_socket2); @@ -658,6 +660,7 @@ doit (const char *hostname, errx (1, "gethostbyname '%s' failed: %s", hostname, hstrerror(error)); + af = hostent->h_addrtype; for (h = hostent->h_addr_list; *h != NULL; ++h) { int s; @@ -690,6 +693,7 @@ doit (const char *hostname, } else errsock = -1; + freehostent (hostent); ret = proto (s, errsock, hostname, local_user, remote_user, @@ -697,6 +701,7 @@ doit (const char *hostname, close (s); return ret; } + freehostent (hostent); return 1; } diff --git a/appl/test/tcp_client.c b/appl/test/tcp_client.c index 3afb3546c..8ac0a72b4 100644 --- a/appl/test/tcp_client.c +++ b/appl/test/tcp_client.c @@ -52,10 +52,6 @@ proto (int sock, const char *hostname, const char *service) krb5_data packet; u_int32_t len, net_len; - status = krb5_init_context(&context); - if (status) - krb5_err (context, 1, status, "krb5_init_context"); - status = krb5_auth_con_init (context, &auth_context); if (status) krb5_err (context, 1, status, "krb5_auth_con_init"); @@ -170,8 +166,10 @@ doit (const char *hostname, int port, const char *service) close (s); continue; } + freehostent (hostent); return proto (s, hostname, service); } + freehostent (hostent); return 1; }