summaryrefslogtreecommitdiff
path: root/usr.bin/m4/eval.c
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2014-07-11 21:04:18 +0000
committerMarc Espie <espie@cvs.openbsd.org>2014-07-11 21:04:18 +0000
commit5d2b02e4488800ac59b6fbb22b4a23253de2da79 (patch)
treec7a84959371b191f5f36e0141db1f78fb0ab44e4 /usr.bin/m4/eval.c
parentbfa032b27025066b750630818f12686f06a9ca65 (diff)
better error handling in mkstemp/unlink/fdopen logic.
from Doug Hogan <doug@acyclic.org> okay miod@
Diffstat (limited to 'usr.bin/m4/eval.c')
-rw-r--r--usr.bin/m4/eval.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/usr.bin/m4/eval.c b/usr.bin/m4/eval.c
index a11895e48a2..b4a72686b82 100644
--- a/usr.bin/m4/eval.c
+++ b/usr.bin/m4/eval.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: eval.c,v 1.72 2014/04/28 12:34:11 espie Exp $ */
+/* $OpenBSD: eval.c,v 1.73 2014/07/11 21:04:17 espie Exp $ */
/* $NetBSD: eval.c,v 1.7 1996/11/10 21:21:29 pk Exp $ */
/*
@@ -817,11 +817,10 @@ dodiv(int n)
if (outfile[n] == NULL) {
char fname[] = _PATH_DIVNAME;
- if ((fd = mkstemp(fname)) < 0 ||
- (outfile[n] = fdopen(fd, "w+")) == NULL)
- err(1, "%s: cannot divert", fname);
- if (unlink(fname) == -1)
- err(1, "%s: cannot unlink", fname);
+ if ((fd = mkstemp(fname)) < 0 ||
+ unlink(fname) == -1 ||
+ (outfile[n] = fdopen(fd, "w+")) == NULL)
+ err(1, "%s: cannot divert", fname);
}
active = outfile[n];
}