upstream commit

Free resources on error in mkstemp and fdopen

ok djm@
This commit is contained in:
doug@openbsd.org 2014-08-21 01:08:52 +00:00 committed by Damien Miller
parent 40ba4c9733
commit 7df8818409
2 changed files with 5 additions and 2 deletions

View File

@ -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 <karn@qualcomm.com> * Copyright 1994 Phil Karn <karn@qualcomm.com>
* Copyright 1996-1998, 2003 William Allen Simpson <wsimpson@greendragon.com> * Copyright 1996-1998, 2003 William Allen Simpson <wsimpson@greendragon.com>
@ -461,6 +461,7 @@ write_checkpoint(char *cpfile, u_int32_t lineno)
} }
if ((fp = fdopen(r, "w")) == NULL) { if ((fp = fdopen(r, "w")) == NULL) {
logit("write_checkpoint: fdopen: %s", strerror(errno)); logit("write_checkpoint: fdopen: %s", strerror(errno));
unlink(tmp);
close(r); close(r);
return; return;
} }

View File

@ -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 <ylo@cs.hut.fi> * Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1994 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@ -967,12 +967,14 @@ do_gen_all_hostkeys(struct passwd *pw)
f = fdopen(fd, "w"); f = fdopen(fd, "w");
if (f == NULL) { if (f == NULL) {
printf("fdopen %s failed\n", identity_file); printf("fdopen %s failed\n", identity_file);
close(fd);
key_free(public); key_free(public);
first = 0; first = 0;
continue; continue;
} }
if (!key_write(public, f)) { if (!key_write(public, f)) {
fprintf(stderr, "write key failed\n"); fprintf(stderr, "write key failed\n");
fclose(f);
key_free(public); key_free(public);
first = 0; first = 0;
continue; continue;