summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2023-03-31 04:21:56 +0000
committerDamien Miller <djm@mindrot.org>2023-03-31 15:32:36 +1100
commit1883841fc13d0eada8743cac5d3abe142ee2efa7 (patch)
tree1b2e93edea9bd2a34ca96724c6071a42df69bc9e
parentc6011129cafe4c411f6ef670a4cf271314708eb8 (diff)
downloadopenssh-git-1883841fc13d0eada8743cac5d3abe142ee2efa7.tar.gz
upstream: don't print key if printing hostname failed; with/ok
dtucker@ OpenBSD-Commit-ID: ad42971a6ee5a46feab2d79f7f656f8cf4b119f3
-rw-r--r--ssh-keyscan.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/ssh-keyscan.c b/ssh-keyscan.c
index 3f3092e6..a53188c7 100644
--- a/ssh-keyscan.c
+++ b/ssh-keyscan.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ssh-keyscan.c,v 1.151 2023/02/10 06:41:53 jmc Exp $ */
+/* $OpenBSD: ssh-keyscan.c,v 1.152 2023/03/31 04:21:56 djm Exp $ */
/*
* Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
*
@@ -313,6 +313,7 @@ keyprint_one(const char *host, struct sshkey *key)
{
char *hostport = NULL, *hashed = NULL;
const char *known_host;
+ int r = 0;
found_one = 1;
@@ -327,9 +328,9 @@ keyprint_one(const char *host, struct sshkey *key)
fatal("host_hash failed");
known_host = hash_hosts ? hashed : hostport;
if (!get_cert)
- fprintf(stdout, "%s ", known_host);
- sshkey_write(key, stdout);
- fputs("\n", stdout);
+ r = fprintf(stdout, "%s ", known_host);
+ if (r >= 0 && sshkey_write(key, stdout) == 0)
+ (void)fputs("\n", stdout);
free(hashed);
free(hostport);
}