summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/key-bindings.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2019-11-20 11:42:51 +0000
committernicm <nicm@openbsd.org>2019-11-20 11:42:51 +0000
commit494db7ccefa51d2b48fb6b9925f0fbfad128b284 (patch)
tree7df798fe9f001bdce05b4daae39cb55c6d439586 /usr.bin/tmux/key-bindings.c
parentFix rsa key output format (diff)
downloadwireguard-openbsd-494db7ccefa51d2b48fb6b9925f0fbfad128b284.tar.xz
wireguard-openbsd-494db7ccefa51d2b48fb6b9925f0fbfad128b284.zip
Do not check the client readonly flag when there is no client, GitHub issue 1980.
Diffstat (limited to 'usr.bin/tmux/key-bindings.c')
-rw-r--r--usr.bin/tmux/key-bindings.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/usr.bin/tmux/key-bindings.c b/usr.bin/tmux/key-bindings.c
index 2a4ad7f7235..e170b6dacc7 100644
--- a/usr.bin/tmux/key-bindings.c
+++ b/usr.bin/tmux/key-bindings.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: key-bindings.c,v 1.101 2019/09/18 15:09:05 nicm Exp $ */
+/* $OpenBSD: key-bindings.c,v 1.102 2019/11/20 11:42:51 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -508,12 +508,16 @@ key_bindings_dispatch(struct key_binding *bd, struct cmdq_item *item,
struct cmdq_item *new_item;
int readonly;
- readonly = 1;
- TAILQ_FOREACH(cmd, &bd->cmdlist->list, qentry) {
- if (!(cmd->entry->flags & CMD_READONLY))
- readonly = 0;
+ if (c == NULL || (~c->flags & CLIENT_READONLY))
+ readonly = 1;
+ else {
+ readonly = 1;
+ TAILQ_FOREACH(cmd, &bd->cmdlist->list, qentry) {
+ if (~cmd->entry->flags & CMD_READONLY)
+ readonly = 0;
+ }
}
- if (!readonly && (c->flags & CLIENT_READONLY))
+ if (!readonly)
new_item = cmdq_get_callback(key_bindings_read_only, NULL);
else {
new_item = cmdq_get_command(bd->cmdlist, fs, m, 0);