upstream: produce a useful error message if the user's shell is set
incorrectly during "match exec" processing. bz#2791 reported by Dario Bertini; ok dtucker OpenBSD-Commit-ID: cf9eddd6a6be726cb73bd9c3936f3888cd85c03d
This commit is contained in:
parent
8fdbc7247f
commit
9ab5b94747
|
@ -1,4 +1,4 @@
|
||||||
/* $OpenBSD: readconf.c,v 1.307 2019/06/28 13:35:04 deraadt Exp $ */
|
/* $OpenBSD: readconf.c,v 1.308 2019/08/09 05:05:54 djm Exp $ */
|
||||||
/*
|
/*
|
||||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||||
|
@ -486,6 +486,11 @@ execute_in_shell(const char *cmd)
|
||||||
if ((shell = getenv("SHELL")) == NULL)
|
if ((shell = getenv("SHELL")) == NULL)
|
||||||
shell = _PATH_BSHELL;
|
shell = _PATH_BSHELL;
|
||||||
|
|
||||||
|
if (access(shell, X_OK) == -1) {
|
||||||
|
fatal("Shell \"%s\" is not executable: %s",
|
||||||
|
shell, strerror(errno));
|
||||||
|
}
|
||||||
|
|
||||||
/* Need this to redirect subprocess stdin/out */
|
/* Need this to redirect subprocess stdin/out */
|
||||||
if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1)
|
if ((devnull = open(_PATH_DEVNULL, O_RDWR)) == -1)
|
||||||
fatal("open(/dev/null): %s", strerror(errno));
|
fatal("open(/dev/null): %s", strerror(errno));
|
||||||
|
|
Loading…
Reference in New Issue