From d5f5b97def3827b7ce0b92e4348e96ff8d39e4f8 Mon Sep 17 00:00:00 2001 From: doug Date: Thu, 21 Aug 2014 01:08:52 +0000 Subject: [PATCH] Free resources on error in mkstemp and fdopen ok djm@ --- usr.bin/ssh/moduli.c | 3 ++- usr.bin/ssh/ssh-keygen.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/usr.bin/ssh/moduli.c b/usr.bin/ssh/moduli.c index 0457cf896bd..2072afac8f1 100644 --- a/usr.bin/ssh/moduli.c +++ b/usr.bin/ssh/moduli.c @@ -1,4 +1,4 @@ -/* $OpenBSD: moduli.c,v 1.28 2013/10/24 00:49:49 dtucker Exp $ */ +/* $OpenBSD: moduli.c,v 1.29 2014/08/21 01:08:52 doug Exp $ */ /* * Copyright 1994 Phil Karn * Copyright 1996-1998, 2003 William Allen Simpson @@ -457,6 +457,7 @@ write_checkpoint(char *cpfile, u_int32_t lineno) } if ((fp = fdopen(r, "w")) == NULL) { logit("write_checkpoint: fdopen: %s", strerror(errno)); + unlink(tmp); close(r); return; } diff --git a/usr.bin/ssh/ssh-keygen.c b/usr.bin/ssh/ssh-keygen.c index 9031683296c..bddac020018 100644 --- a/usr.bin/ssh/ssh-keygen.c +++ b/usr.bin/ssh/ssh-keygen.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ssh-keygen.c,v 1.249 2014/07/03 03:47:27 djm Exp $ */ +/* $OpenBSD: ssh-keygen.c,v 1.250 2014/08/21 01:08:52 doug Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1994 Tatu Ylonen , Espoo, Finland @@ -953,12 +953,14 @@ do_gen_all_hostkeys(struct passwd *pw) f = fdopen(fd, "w"); if (f == NULL) { printf("fdopen %s failed\n", identity_file); + close(fd); key_free(public); first = 0; continue; } if (!key_write(public, f)) { fprintf(stderr, "write key failed\n"); + fclose(f); key_free(public); first = 0; continue; -- 2.20.1