summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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) {