diff options
author | deraadt@openbsd.org <deraadt@openbsd.org> | 2015-11-28 06:50:52 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2015-11-30 09:45:53 +1100 |
commit | 6da413c085dba37127687b2617a415602505729b (patch) | |
tree | 4fe1a42959bf448581e93c94df2bd64f8ad4cf3a /ssh-keygen.c | |
parent | 3ddd15e1b63a4d4f06c8ab16fbdd8a5a61764f16 (diff) |
upstream commit
do not leak temp file if there is no known_hosts file
from craig leres, ok djm
Upstream-ID: c820497fd5574844c782e79405c55860f170e426
Diffstat (limited to 'ssh-keygen.c')
-rw-r--r-- | ssh-keygen.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/ssh-keygen.c b/ssh-keygen.c index a788b710a..f6a1c2847 100644 --- a/ssh-keygen.c +++ b/ssh-keygen.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssh-keygen.c,v 1.283 2015/11/20 23:04:01 halex Exp $ */ | 1 | /* $OpenBSD: ssh-keygen.c,v 1.284 2015/11/28 06:50:52 deraadt 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 |
@@ -1231,8 +1231,11 @@ do_known_hosts(struct passwd *pw, const char *name) | |||
1231 | foreach_options |= print_fingerprint ? HKF_WANT_PARSE_KEY : 0; | 1231 | foreach_options |= print_fingerprint ? HKF_WANT_PARSE_KEY : 0; |
1232 | if ((r = hostkeys_foreach(identity_file, | 1232 | if ((r = hostkeys_foreach(identity_file, |
1233 | hash_hosts ? known_hosts_hash : known_hosts_find_delete, &ctx, | 1233 | hash_hosts ? known_hosts_hash : known_hosts_find_delete, &ctx, |
1234 | name, NULL, foreach_options)) != 0) | 1234 | name, NULL, foreach_options)) != 0) { |
1235 | if (inplace) | ||
1236 | unlink(tmp); | ||
1235 | fatal("%s: hostkeys_foreach failed: %s", __func__, ssh_err(r)); | 1237 | fatal("%s: hostkeys_foreach failed: %s", __func__, ssh_err(r)); |
1238 | } | ||
1236 | 1239 | ||
1237 | if (inplace) | 1240 | if (inplace) |
1238 | fclose(ctx.out); | 1241 | fclose(ctx.out); |