mirror of
https://github.com/troglobit/finit.git
synced 2026-10-08 16:34:45 +07:00
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:
+1
-1
@@ -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
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user