git: 792d3f16868e - stable/13 - ssh: fix leak and apply style(9) to hostname canonicalization
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 05 Jun 2023 18:11:20 UTC
The branch stable/13 has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=792d3f16868e5f79ab8b11803340251371515f0a
commit 792d3f16868e5f79ab8b11803340251371515f0a
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2023-02-08 13:16:53 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2023-06-05 16:03:51 +0000
ssh: fix leak and apply style(9) to hostname canonicalization
Fixes: bf2e2524a2ce ("ssh: canonicize the host name before...")
Fixes: 3e74849a1ee2 ("ssh: canonicize the host name before...")
Reviewed by: rew
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D38441
(cherry picked from commit 19aba210e1a1b5999bff10cccab5a277060c4d46)
---
crypto/openssh/ssh.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/crypto/openssh/ssh.c b/crypto/openssh/ssh.c
index 268781518b8c..883406f7b8f9 100644
--- a/crypto/openssh/ssh.c
+++ b/crypto/openssh/ssh.c
@@ -1396,18 +1396,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);
}
}