aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiltjo Posthuma <hiltjo@codemadness.org>2026-10-13 14:34:59 +0200
committerHiltjo Posthuma <hiltjo@codemadness.org>2026-10-16 13:26:00 +0200
commitce41d3479103fe818466cde9394cce9ac314f519 (patch)
treef3151a8d48520ae75f1eb8f1d2079772bb87d81d
parent3fdf0241fcd1b7677a034c0c8f213587e5e706e7 (diff)
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.
-rw-r--r--dwm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/dwm.c b/dwm.c
index 1249997..515e4e4 100644
--- 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;
}