mirror of
https://github.com/tmate-io/tmate.git
synced 2025-02-02 19:39:32 +01:00
Sync OpenBSD patchset 960:
Reject $SHELL if it is not a full path.
This commit is contained in:
parent
326c5bf1b4
commit
edd59d9e0f
4
tmux.c
4
tmux.c
@ -101,7 +101,9 @@ getshell(void)
|
|||||||
int
|
int
|
||||||
checkshell(const char *shell)
|
checkshell(const char *shell)
|
||||||
{
|
{
|
||||||
if (shell == NULL || *shell == '\0' || areshell(shell))
|
if (shell == NULL || *shell == '\0' || *shell != '/')
|
||||||
|
return (0);
|
||||||
|
if (areshell(shell))
|
||||||
return (0);
|
return (0);
|
||||||
if (access(shell, X_OK) != 0)
|
if (access(shell, X_OK) != 0)
|
||||||
return (0);
|
return (0);
|
||||||
|
2
window.c
2
window.c
@ -694,7 +694,7 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell,
|
|||||||
if (*wp->cmd != '\0') {
|
if (*wp->cmd != '\0') {
|
||||||
/* Set SHELL but only if it is currently not useful. */
|
/* Set SHELL but only if it is currently not useful. */
|
||||||
shell = getenv("SHELL");
|
shell = getenv("SHELL");
|
||||||
if (shell == NULL || *shell == '\0' || areshell(shell))
|
if (checkshell(shell))
|
||||||
setenv("SHELL", wp->shell, 1);
|
setenv("SHELL", wp->shell, 1);
|
||||||
|
|
||||||
execl(_PATH_BSHELL, "sh", "-c", wp->cmd, (char *) NULL);
|
execl(_PATH_BSHELL, "sh", "-c", wp->cmd, (char *) NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user