diff options
| author | jnemeth <jnemeth@NetBSD.org> | 2006-05-28 11:33:56 +0000 |
|---|---|---|
| committer | jnemeth <jnemeth@NetBSD.org> | 2006-05-28 11:33:56 +0000 |
| commit | 4c99f4ecf2d4a561fccd1663db56176c0d679e12 (patch) | |
| tree | 8bb5e16f380f58a17ccd18f8f87439bcd66f0466 /usr.sbin | |
| parent | 62438e22ea784ad2691c519d55316b4cfb70642c (diff) | |
unlink temp file in error case
Diffstat (limited to 'usr.sbin')
| -rw-r--r-- | usr.sbin/ndiscvt/ndiscvt.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.sbin/ndiscvt/ndiscvt.c b/usr.sbin/ndiscvt/ndiscvt.c index 1e9c5913730..619e96ba6ba 100644 --- a/usr.sbin/ndiscvt/ndiscvt.c +++ b/usr.sbin/ndiscvt/ndiscvt.c @@ -35,7 +35,7 @@ __FBSDID("$FreeBSD: src/usr.sbin/ndiscvt/ndiscvt.c,v 1.9.2.2 2005/02/23 16:31:47 wpaul Exp $"); #endif #ifdef __NetBSD__ -__RCSID("$NetBSD: ndiscvt.c,v 1.8 2006/05/26 11:45:31 jnemeth Exp $"); +__RCSID("$NetBSD: ndiscvt.c,v 1.9 2006/05/28 11:33:56 jnemeth Exp $"); #endif @@ -189,12 +189,14 @@ bincvt(char *sysfile, char *outfile, void *img, int fsize) binfp = fdopen(fd, "a+"); if (binfp == NULL) { - close(fd); + unlink(tname); err(1, "opening %s failed", tname); } - if (fwrite(img, fsize, 1, binfp) != 1) + if (fwrite(img, fsize, 1, binfp) != 1) { + unlink(tname); err(1, "failed to output binary image"); + } fclose(binfp); |
