cond: fixup path buffer size to fit the longest condition name

cond_path() and cond_checkpath() built the /run/finit/cond/ path in a
MAX_ARG_LEN buffer, so condition names longer than ~40 chars were
truncated.
This commit is contained in:
Aaron Andersen
2026-08-05 18:51:27 -04:00
parent 6b77a16f8b
commit 287a385e63
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -206,7 +206,7 @@ static void cond_bump_reconf(void)
static int cond_checkpath(const char *path)
{
char buf[MAX_ARG_LEN], *dir;
char buf[MAX_COND_LEN + sizeof(_PATH_COND)], *dir;
strlcpy(buf, path, sizeof(buf));
dir = dirname(buf);
+1 -1
View File
@@ -47,7 +47,7 @@ const char *condstr(enum cond_state s)
const char *cond_path(const char *name)
{
static char path[256];
char tmp[MAX_ARG_LEN];
char tmp[MAX_COND_LEN + sizeof(_PATH_COND)];
snprintf(tmp, sizeof(tmp), _PATH_COND "%s", name);