diff options
author | NRK <nrk@disroot.org> | 2022-03-28 01:02:52 +0600 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-04-16 16:21:01 +0200 |
commit | e4827b0c4048718ab06670cf60ef68d028fe7fc4 (patch) | |
tree | a891006adb7acf63b8c9e4f17ce71ae1baa403ed | |
parent | e73651f12a406629778f02d8e5acbe2caec0dfc2 (diff) |
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>
-rw-r--r-- | drw.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -267,7 +267,7 @@ drw_text(Drw *drw, int x, int y, unsigned int w, unsigned int h, unsigned int lp | |||
267 | enum { nomatches_len = 64 }; | 267 | enum { nomatches_len = 64 }; |
268 | static struct { long codepoint[nomatches_len]; unsigned int idx; } nomatches; | 268 | static struct { long codepoint[nomatches_len]; unsigned int idx; } nomatches; |
269 | 269 | ||
270 | if (!drw || (render && !drw->scheme) || !text || !drw->fonts) | 270 | if (!drw || (render && (!drw->scheme || !w)) || !text || !drw->fonts) |
271 | return 0; | 271 | return 0; |
272 | 272 | ||
273 | if (!render) { | 273 | if (!render) { |