summaryrefslogtreecommitdiffhomepage
path: root/patch
diff options
context:
space:
mode:
authorbakkeby <[email protected]>2021-11-20 22:48:46 +0100
committerbakkeby <[email protected]>2021-11-20 22:48:46 +0100
commitc7af5c6b67cf2f09439050f635684a42a879c446 (patch)
treee690aa8c7dc5ebe892a83f3bf3f2a58fdf8e44bd /patch
parentefb9cc721e77128d28142893fe419e044e1ca1c7 (diff)
downloaddwm-flexipatch-c7af5c6b67cf2f09439050f635684a42a879c446.tar.gz
dwm-flexipatch-c7af5c6b67cf2f09439050f635684a42a879c446.zip
winicon: Fix potential integer overflow
Diffstat (limited to 'patch')
-rw-r--r--patch/bar_winicon.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/patch/bar_winicon.c b/patch/bar_winicon.c
index 5ae7fe7..a50766c 100644
--- a/patch/bar_winicon.c
+++ b/patch/bar_winicon.c
@@ -73,13 +73,13 @@ geticonprop(Window win)
unsigned long *i;
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 NULL; }
+ if ((w = *i++) >= 16384 || (h = *i++) >= 16384) { XFree(p); return NULL; }
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 NULL; }
+ if ((w = *i++) >= 16384 || (h = *i++) >= 16384) { XFree(p); return NULL; }
if ((sz = w * h) > end - i) break;
if ((d = ICONSIZE - (w > h ? w : h)) < bstd) { bstd = d; bstp = i; }
}