summaryrefslogtreecommitdiffstats
path: root/cmd-pipe-pane.c
diff options
context:
space:
mode:
authornicm <nicm>2022-05-30 13:03:46 +0000
committernicm <nicm>2022-05-30 13:03:46 +0000
commitaf1496b300cd755dcffd514ed0a329943f633cd4 (patch)
treea6cf9807c00113dde5fa56f79d448e4bcafccae4 /cmd-pipe-pane.c
parent2b60ff588ebc26258848fa9d89a6e32e46eeba58 (diff)
Do not allow pipe-pane on dead panes, from Anindya Mukherjee, GitHub
issue 3174.
Diffstat (limited to 'cmd-pipe-pane.c')
-rw-r--r--cmd-pipe-pane.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cmd-pipe-pane.c b/cmd-pipe-pane.c
index 1a8c851b..bedc8f24 100644
--- a/cmd-pipe-pane.c
+++ b/cmd-pipe-pane.c
@@ -68,6 +68,12 @@ cmd_pipe_pane_exec(struct cmd *self, struct cmdq_item *item)
struct format_tree *ft;
sigset_t set, oldset;
+ /* Do nothing if pane is dead. */
+ if (wp->fd == -1 || (wp->flags & PANE_EXITED)) {
+ cmdq_error(item, "target pane has exited");
+ return (CMD_RETURN_ERROR);
+ }
+
/* Destroy the old pipe. */
old_fd = wp->pipe_fd;
if (wp->pipe_fd != -1) {