]> Skullheadx's Git Forge - dmenu.git/commitdiff
Avoid unsigned integer underflow in drw_text()
authorHiltjo Posthuma <hiltjo@codemadness.org>
Wed, 30 Oct 2024 12:02:57 +0000 (13:02 +0100)
committerHiltjo Posthuma <hiltjo@codemadness.org>
Wed, 30 Oct 2024 12:02:57 +0000 (13:02 +0100)
Patch by Raymond Cole <rc@wolog.xyz>, thanks.

drw.c

diff --git a/drw.c b/drw.c
index 344de618bae0094f955f679a23b9d1d460c6ab39..c41e6aff094243c2c58bccf69283192f3db16939 100644 (file)
--- a/drw.c
+++ b/drw.c
@@ -248,6 +248,8 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp
        } else {
                XSetForeground(drw->dpy, drw->gc, drw->scheme[invert ? ColFg : ColBg].pixel);
                XFillRectangle(drw->dpy, drw->drawable, drw->gc, x, y, w, h);
+               if (w < lpad)
+                       return x + w;
                d = XftDrawCreate(drw->dpy, drw->drawable,
                                  DefaultVisual(drw->dpy, drw->screen),
                                  DefaultColormap(drw->dpy, drw->screen));