upstream: don't print key if printing hostname failed; with/ok

dtucker@

OpenBSD-Commit-ID: ad42971a6ee5a46feab2d79f7f656f8cf4b119f3
This commit is contained in:
djm@openbsd.org 2023-03-31 04:21:56 +00:00 committed by Damien Miller
parent c6011129ca
commit 1883841fc1
No known key found for this signature in database

View File

@ -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);
}