Date: Thursday, October 29, 2020 @ 19:14:54
  Author: eworm
Revision: 736572

upgpkg: tmux 3.1_b-2: fix openbsd errata 003

tmux has a stack overflow in CSI parsing.

OpenBSD 6.8 errata 003, October 29, 2020:

https://ftp.openbsd.org/pub/OpenBSD/patches/6.8/common/003_tmux.patch.sig

Added:
  tmux/trunk/0001-OpenBSD-6.8-errata-003.patch
Modified:
  tmux/trunk/PKGBUILD

-----------------------------------+
 0001-OpenBSD-6.8-errata-003.patch |   24 ++++++++++++++++++++++++
 PKGBUILD                          |   14 +++++++++++---
 2 files changed, 35 insertions(+), 3 deletions(-)

Added: 0001-OpenBSD-6.8-errata-003.patch
===================================================================
--- 0001-OpenBSD-6.8-errata-003.patch                           (rev 0)
+++ 0001-OpenBSD-6.8-errata-003.patch   2020-10-29 19:14:54 UTC (rev 736572)
@@ -0,0 +1,24 @@
+tmux has a stack overflow in CSI parsing.
+
+OpenBSD 6.8 errata 003, October 29, 2020:
+
+https://ftp.openbsd.org/pub/OpenBSD/patches/6.8/common/003_tmux.patch.sig
+
+diff -u -p -u -r1.183 input.c
+--- tmux/input.c       19 Aug 2020 06:37:23 -0000
++++ tmux/input.c       29 Oct 2020 15:34:14 -0000
+@@ -1976,8 +1976,13 @@ input_csi_dispatch_sgr_colon(struct inpu
+                               free(copy);
+                               return;
+                       }
+-              } else
++              } else {
+                       n++;
++                      if (n == nitems(p)) {
++                              free(copy);
++                              return;
++                      }
++              }
+               log_debug("%s: %u = %d", __func__, n - 1, p[n - 1]);
+       }
+       free(copy);

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2020-10-29 18:57:36 UTC (rev 736571)
+++ PKGBUILD    2020-10-29 19:14:54 UTC (rev 736572)
@@ -4,15 +4,23 @@
 
 pkgname=tmux
 pkgver=3.1_b
-pkgrel=1
+pkgrel=2
 pkgdesc='A terminal multiplexer'
 url='https://github.com/tmux/tmux/wiki'
 arch=('x86_64')
 license=('BSD')
 depends=('ncurses' 'libevent' 'libutempter')
-source=("https://github.com/tmux/tmux/releases/download/${pkgver/_/}/tmux-${pkgver/_/}.tar.gz";)
-sha256sums=('d93f351d50af05a75fe6681085670c786d9504a5da2608e481c47cf5e1486db9')
+source=("https://github.com/tmux/tmux/releases/download/${pkgver/_/}/tmux-${pkgver/_/}.tar.gz";
+        '0001-OpenBSD-6.8-errata-003.patch')
+sha256sums=('d93f351d50af05a75fe6681085670c786d9504a5da2608e481c47cf5e1486db9'
+            '3bae2afa48f3832f577f9ade513993d84738d594a1dd193fd22d80d0864d8a97')
 
+prepare() {
+       cd "$srcdir/$pkgname-${pkgver/_/}"
+
+       patch -Np1 < ../0001-OpenBSD-6.8-errata-003.patch
+}
+
 build() {
        cd "$srcdir/$pkgname-${pkgver/_/}"
 

Reply via email to