diff --git a/cmd-new-session.c b/cmd-new-session.c index 3ce24397..ad083a44 100644 --- a/cmd-new-session.c +++ b/cmd-new-session.c @@ -115,7 +115,7 @@ cmd_new_session_exec(struct cmd *self, struct cmd_q *cmdq) return (CMD_RETURN_ERROR); } cwd = fd; - } else if (c->session == NULL) + } else if (c != NULL && c->session == NULL) cwd = c->cwd; else if ((c0 = cmd_current_client(cmdq)) != NULL) cwd = c0->session->cwd; diff --git a/cmd-new-window.c b/cmd-new-window.c index f6a925b1..5c2cbe40 100644 --- a/cmd-new-window.c +++ b/cmd-new-window.c @@ -125,7 +125,7 @@ cmd_new_window_exec(struct cmd *self, struct cmd_q *cmdq) return (CMD_RETURN_ERROR); } cwd = fd; - } else if (cmdq->client->session == NULL) + } else if (cmdq->client != NULL && cmdq->client->session == NULL) cwd = cmdq->client->cwd; else cwd = s->cwd; diff --git a/cmd-split-window.c b/cmd-split-window.c index ef1d3cbc..4bb069f0 100644 --- a/cmd-split-window.c +++ b/cmd-split-window.c @@ -102,7 +102,7 @@ cmd_split_window_exec(struct cmd *self, struct cmd_q *cmdq) return (CMD_RETURN_ERROR); } cwd = fd; - } else if (cmdq->client->session == NULL) + } else if (cmdq->client != NULL && cmdq->client->session == NULL) cwd = cmdq->client->cwd; else cwd = s->cwd;