[wiki] [sites] [dwm][patches][winicon] Fix potential integer overflow || AdamYuan

From: <git_AT_suckless.org>
Date: Sat, 20 Nov 2021 13:33:57 +0100

commit b49ff9b9d3a52991b3fdbf84cb3652cd3279f951
Author: AdamYuan <y13916619121_AT_126.com>
Date: Sat Nov 20 20:31:45 2021 +0800

    [dwm][patches][winicon] Fix potential integer overflow

diff --git a/dwm.suckless.org/patches/winicon/dwm-winicon-6.2-v2.0.diff b/dwm.suckless.org/patches/winicon/dwm-winicon-6.2-v2.1.diff
similarity index 98%
rename from dwm.suckless.org/patches/winicon/dwm-winicon-6.2-v2.0.diff
rename to dwm.suckless.org/patches/winicon/dwm-winicon-6.2-v2.1.diff
index 0ccdfd52..4f8406c1 100644
--- a/dwm.suckless.org/patches/winicon/dwm-winicon-6.2-v2.0.diff
+++ b/dwm.suckless.org/patches/winicon/dwm-winicon-6.2-v2.1.diff
_AT_@ -172,7 +172,7 @@ index 4bcd5ad..71aefa2 100644
  /* Map functions */
  void drw_map(Drw *drw, Window win, int x, int y, unsigned int w, unsigned int h);
 diff --git a/dwm.c b/dwm.c
-index 4465af1..faf40b7 100644
+index 4465af1..2f88466 100644
 --- a/dwm.c
 +++ b/dwm.c
 _AT_@ -28,6 +28,8 @@
_AT_@ -264,13 +264,13 @@ index 4465af1..faf40b7 100644
 + unsigned long *i; const unsigned long *end = p + n;
 + uint32_t bstd = UINT32_MAX, d, m;
 + for (i = p; i < end - 1; i += sz) {
-+ if ((w = *i++) > UINT16_MAX || (h = *i++) > UINT16_MAX) { XFree(p); return None; }
++ if ((w = *i++) >= 16384 || (h = *i++) >= 16384) { XFree(p); return None; }
 + if ((sz = w * h) > end - i) break;
 + if ((m = w > h ? w : h) >= ICONSIZE && (d = m - ICONSIZE) < bstd) { bstd = d; bstp = i; }
 + }
 + if (!bstp) {
 + for (i = p; i < end - 1; i += sz) {
-+ if ((w = *i++) > UINT16_MAX || (h = *i++) > UINT16_MAX) { XFree(p); return None; }
++ if ((w = *i++) >= 16384 || (h = *i++) >= 16384) { XFree(p); return None; }
 + if ((sz = w * h) > end - i) break;
 + if ((d = ICONSIZE - (w > h ? w : h)) < bstd) { bstd = d; bstp = i; }
 + }
diff --git a/dwm.suckless.org/patches/winicon/index.md b/dwm.suckless.org/patches/winicon/index.md
index faab7cf6..10cb0979 100644
--- a/dwm.suckless.org/patches/winicon/index.md
+++ b/dwm.suckless.org/patches/winicon/index.md
_AT_@ -31,7 +31,7 @@ There are also some practical macro hacks:
 
 Download
 --------
-* [dwm-winicon-6.2-v2.0.diff](dwm-winicon-6.2-v2.0.diff) (2021-08-17)
+* [dwm-winicon-6.2-v2.1.diff](dwm-winicon-6.2-v2.1.diff) (2021-08-17)
 
 Alpha Patch
 -----------
Received on Sat Nov 20 2021 - 13:33:57 CET

This archive was generated by hypermail 2.3.0 : Sat Nov 20 2021 - 13:36:44 CET