commit e4827b0c4048718ab06670cf60ef68d028fe7fc4
Author:     NRK <[email protected]>
AuthorDate: Mon Mar 28 01:02:52 2022 +0600
Commit:     Hiltjo Posthuma <[email protected]>
CommitDate: Sat Apr 16 16:21:01 2022 +0200

    drw_text: don't segfault when called with 0 width
    
    this patch just rejects *any* 0 width draws, which is surely an error by
    the caller.
    
    this also guards against cases where the width is too small for the
    ellipsis to fit, so ellipsis_w will remain 0.
    reported by Bakkeby <[email protected]>

diff --git a/drw.c b/drw.c
index a50c9ee..2f3a5df 100644
--- a/drw.c
+++ b/drw.c
@@ -267,7 +267,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned 
int h, unsigned int lp
        enum { nomatches_len = 64 };
        static struct { long codepoint[nomatches_len]; unsigned int idx; } 
nomatches;
 
-       if (!drw || (render && !drw->scheme) || !text || !drw->fonts)
+       if (!drw || (render && (!drw->scheme || !w)) || !text || !drw->fonts)
                return 0;
 
        if (!render) {

Reply via email to