ssh: fix leak and apply style(9) to hostname canonicalization
Fixes:bf2e2524a2
("ssh: canonicize the host name before...") Fixes:3e74849a1e
("ssh: canonicize the host name before...") Reviewed by: rew Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38441
This commit is contained in:
parent
d4211ef5cd
commit
07253b19e2
@ -1388,18 +1388,21 @@ main(int ac, char **av)
|
||||
cinfo->locuser = xstrdup(pw->pw_name);
|
||||
|
||||
/* Find canonic host name. */
|
||||
if (strchr(host, '.') == 0) {
|
||||
if (strchr(host, '.') == NULL) {
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *ai = NULL;
|
||||
int errgai;
|
||||
|
||||
memset(&hints, 0, sizeof(hints));
|
||||
hints.ai_family = options.address_family;
|
||||
hints.ai_flags = AI_CANONNAME;
|
||||
hints.ai_socktype = SOCK_STREAM;
|
||||
errgai = getaddrinfo(host, NULL, &hints, &ai);
|
||||
if (errgai == 0) {
|
||||
if (ai->ai_canonname != NULL)
|
||||
if (ai->ai_canonname != NULL) {
|
||||
free(host);
|
||||
host = xstrdup(ai->ai_canonname);
|
||||
}
|
||||
freeaddrinfo(ai);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user