Skip to content

Commit f2e60e1

Browse files
committed
prevent pointer add overflow
1 parent 0e04549 commit f2e60e1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

dwm.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -934,13 +934,13 @@ geticonprop(Window win)
934934
const unsigned long *end = p + n;
935935
unsigned long *i;
936936
uint32_t bstd = UINT32_MAX, d, m;
937-
for (i = p; i + 1 < end; i += sz) {
937+
for (i = p; i < end - 1; i += sz) {
938938
if ((w = *i++) > UINT16_MAX || (h = *i++) > UINT16_MAX) { XFree(p); return NULL; }
939939
if ((sz = w * h) > end - i) break;
940940
if ((m = w > h ? w : h) >= ICONSIZE && (d = m - ICONSIZE) < bstd) { bstd = d; bstp = i; }
941941
}
942942
if (!bstp) {
943-
for (i = p; i + 1 < end; i += sz) {
943+
for (i = p; i < end - 1; i += sz) {
944944
if ((w = *i++) > UINT16_MAX || (h = *i++) > UINT16_MAX) { XFree(p); return NULL; }
945945
if ((sz = w * h) > end - i) break;
946946
if ((d = ICONSIZE - (w > h ? w : h)) < bstd) { bstd = d; bstp = i; }

0 commit comments

Comments
 (0)