summaryrefslogtreecommitdiff
path: root/ssh-keygen.c
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2018-02-10 05:43:26 +0000
committerDamien Miller <djm@mindrot.org>2018-02-10 16:45:34 +1100
commitb56ac069d46b6f800de34e1e935f98d050731d14 (patch)
tree36a2f535b9480c838476f4b7a4bf38e743b11a04 /ssh-keygen.c
parentcdb10bd431f9f6833475c27e9a82ebb36fdb12db (diff)
upstream commit
fatal if we're unable to write all the public key; previously we would silently ignore errors writing the comment and terminating newline. Prompted by github PR from WillerZ; ok dtucker OpenBSD-Commit-ID: 18fbfcfd4e8c6adbc84820039b64d70906e49831
Diffstat (limited to 'ssh-keygen.c')
-rw-r--r--ssh-keygen.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/ssh-keygen.c b/ssh-keygen.c
index e8e2a2aa0..d81f42cb6 100644
--- a/ssh-keygen.c
+++ b/ssh-keygen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssh-keygen.c,v 1.310 2018/02/07 05:15:49 jsing Exp $ */ 1/* $OpenBSD: ssh-keygen.c,v 1.311 2018/02/10 05:43:26 djm Exp $ */
2/* 2/*
3 * Author: Tatu Ylonen <ylo@cs.hut.fi> 3 * Author: Tatu Ylonen <ylo@cs.hut.fi>
4 * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 4 * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -2841,7 +2841,8 @@ passphrase_again:
2841 if ((r = sshkey_write(public, f)) != 0) 2841 if ((r = sshkey_write(public, f)) != 0)
2842 error("write key failed: %s", ssh_err(r)); 2842 error("write key failed: %s", ssh_err(r));
2843 fprintf(f, " %s\n", comment); 2843 fprintf(f, " %s\n", comment);
2844 fclose(f); 2844 if (ferror(f) || fclose(f) != 0)
2845 fatal("write public failed: %s", strerror(errno));
2845 2846
2846 if (!quiet) { 2847 if (!quiet) {
2847 fp = sshkey_fingerprint(public, fingerprint_hash, 2848 fp = sshkey_fingerprint(public, fingerprint_hash,