From e4827b0c4048718ab06670cf60ef68d028fe7fc4 Mon Sep 17 00:00:00 2001
From: NRK <nrk@disroot.org>
Date: Mon, 28 Mar 2022 01:02:52 +0600
Subject: [PATCH] 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 <bakkeby@gmail.com>
---
 drw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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) {