Correctly adjust the end pointer for a two character terminator before
authornicm <nicm@openbsd.org>
Thu, 21 Oct 2021 08:36:51 +0000 (08:36 +0000)
committernicm <nicm@openbsd.org>
Thu, 21 Oct 2021 08:36:51 +0000 (08:36 +0000)
decoding OSC 52 response, from Daniel Ekloef in GitHub issue 2942.

usr.bin/tmux/tty-keys.c

index 03853dc..f01ab9a 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: tty-keys.c,v 1.150 2021/08/13 07:37:58 nicm Exp $ */
+/* $OpenBSD: tty-keys.c,v 1.151 2021/10/21 08:36:51 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -1204,6 +1204,9 @@ tty_keys_clipboard(__unused struct tty *tty, const char *buf, size_t len,
        buf += 5;
        end -= 5;
 
+       /* Adjust end so that it points to the start of the terminator. */
+       end -= terminator - 1;
+
        /* Get the second argument. */
        while (end != 0 && *buf != ';') {
                buf++;