=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/cmd-detach-client.c,v retrieving revision 1.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- src/usr.bin/tmux/cmd-detach-client.c 2021/08/21 10:22:38 1.36 +++ src/usr.bin/tmux/cmd-detach-client.c 2024/03/21 11:26:28 1.37 @@ -1,4 +1,4 @@ -/* $OpenBSD: cmd-detach-client.c,v 1.36 2021/08/21 10:22:38 nicm Exp $ */ +/* $OpenBSD: cmd-detach-client.c,v 1.37 2024/03/21 11:26:28 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -59,6 +59,7 @@ { struct args *args = cmd_get_args(self); struct cmd_find_state *source = cmdq_get_source(item); + struct client *c = cmdq_get_client(item); struct client *tc = cmdq_get_target_client(item), *loop; struct session *s; enum msgtype msgtype; @@ -101,9 +102,13 @@ return (CMD_RETURN_NORMAL); } - if (cmd != NULL) + if (cmd != NULL) { + if (c == NULL || c->session == NULL) { + cmdq_error(item, "must be attached for -E"); + return (CMD_RETURN_ERROR); + } server_client_exec(tc, cmd); - else + } else server_client_detach(tc, msgtype); return (CMD_RETURN_STOP); }