commit ce41d3479103fe818466cde9394cce9ac314f519
parent 3fdf0241fcd1b7677a034c0c8f213587e5e706e7
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Tue, 13 Oct 2026 14:34:59 +0200
properly NUL terminate ltsymbol
Although this is config error in config.h if the symbol is too long.
Make sure it is correct.
Note that the symbol would then get truncated.
Diffstat:
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dwm.c b/dwm.c
@@ -395,7 +395,8 @@ arrange(Monitor *m)
void
arrangemon(Monitor *m)
{
- strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
+ strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof(m->ltsymbol) - 1);
+ m->ltsymbol[sizeof(m->ltsymbol) - 1] = '\0';
if (m->lt[m->sellt]->arrange)
m->lt[m->sellt]->arrange(m);
}
@@ -645,7 +646,8 @@ createmon(void)
m->topbar = topbar;
m->lt[0] = &layouts[0];
m->lt[1] = &layouts[1 % LENGTH(layouts)];
- strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
+ strncpy(m->ltsymbol, layouts[0].symbol, sizeof(m->ltsymbol) - 1);
+ m->ltsymbol[sizeof(m->ltsymbol) - 1] = '\0';
return m;
}