Module Name: src
Committed By: kre
Date: Wed Jun 1 02:50:03 UTC 2016
Modified Files:
src/bin/sh: error.c
Log Message:
PR bin/47065 PR bin/39466
When the shell exits after an error (when that is the right thing for
it to do) ensure that it never does exit(0).
To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 src/bin/sh/error.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/bin/sh/error.c
diff -u src/bin/sh/error.c:1.38 src/bin/sh/error.c:1.39
--- src/bin/sh/error.c:1.38 Thu Mar 15 02:02:20 2012
+++ src/bin/sh/error.c Wed Jun 1 02:50:02 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: error.c,v 1.38 2012/03/15 02:02:20 joerg Exp $ */
+/* $NetBSD: error.c,v 1.39 2016/06/01 02:50:02 kre Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)error.c 8.2 (Berkeley) 5/4/95";
#else
-__RCSID("$NetBSD: error.c,v 1.38 2012/03/15 02:02:20 joerg Exp $");
+__RCSID("$NetBSD: error.c,v 1.39 2016/06/01 02:50:02 kre Exp $");
#endif
#endif /* not lint */
@@ -179,6 +179,11 @@ error(const char *msg, ...)
{
va_list ap;
+ /*
+ * On error, we certainly never want exit(0)...
+ */
+ if (exerrno == 0)
+ exerrno = 1;
va_start(ap, msg);
exverror(EXERROR, msg, ap);
/* NOTREACHED */