summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/input.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2019-05-20 05:35:46 +0000
committernicm <nicm@openbsd.org>2019-05-20 05:35:46 +0000
commit7cb3d29bdb5d8e34a6dbc7288c3fa09c0c61e44f (patch)
treeb7485e5b8f832b94b8e86320114a15f68b2b723c /usr.bin/tmux/input.c
parentRemove unused variables; no binary change. (diff)
downloadwireguard-openbsd-7cb3d29bdb5d8e34a6dbc7288c3fa09c0c61e44f.tar.xz
wireguard-openbsd-7cb3d29bdb5d8e34a6dbc7288c3fa09c0c61e44f.zip
Fix the color space parameter in RGB SGR, from Brad Town.
Diffstat (limited to 'usr.bin/tmux/input.c')
-rw-r--r--usr.bin/tmux/input.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/usr.bin/tmux/input.c b/usr.bin/tmux/input.c
index 0b98386f04c..76d2f7063ad 100644
--- a/usr.bin/tmux/input.c
+++ b/usr.bin/tmux/input.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: input.c,v 1.153 2019/05/13 20:10:23 nicm Exp $ */
+/* $OpenBSD: input.c,v 1.154 2019/05/20 05:35:46 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1938,23 +1938,25 @@ input_csi_dispatch_sgr_colon(struct input_ctx *ictx, u_int i)
}
return;
}
- if (p[0] != 38 && p[0] != 48)
+ if (n < 2 || (p[0] != 38 && p[0] != 48))
return;
- if (p[1] == -1)
- i = 2;
- else
- i = 1;
- switch (p[i]) {
+ switch (p[1]) {
case 2:
- if (n < i + 4)
+ if (n < 3)
+ break;
+ if (n == 5)
+ i = 2;
+ else
+ i = 3;
+ if (n < i + 3)
break;
- input_csi_dispatch_sgr_rgb_do(ictx, p[0], p[i + 1], p[i + 2],
- p[i + 3]);
+ input_csi_dispatch_sgr_rgb_do(ictx, p[0], p[i], p[i + 1],
+ p[i + 2]);
break;
case 5:
- if (n < i + 2)
+ if (n < 3)
break;
- input_csi_dispatch_sgr_256_do(ictx, p[0], p[i + 1]);
+ input_csi_dispatch_sgr_256_do(ictx, p[0], p[2]);
break;
}
}