From: Lennart Poettering Date: Mon, 8 Mar 2021 20:44:39 +0000 (+0100) Subject: basic: tighten two filename length checks X-Git-Tag: v248-rc3~24^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ca94009f826315002d62364efe0c880a13ba8c5;p=thirdparty%2Fsystemd.git basic: tighten two filename length checks This fixes two checks where we compare string sizes when validating with FILENAME_MAX. In both cases the check apparently wants to check if the name fits in a filename, but that's not actually what FILENAME_MAX can be used for, as it — in contrast to what the name suggests — actually encodes the maximum length of a path. In both cases the stricter change doesn't actually change much, but the use of FILENAME_MAX is still misleading and typically wrong. --- diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 0ecb8d944e9..7372b06024a 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -1567,7 +1567,7 @@ bool cg_controller_is_valid(const char *p) { if (!strchr(CONTROLLER_VALID, *t)) return false; - if (t - p > FILENAME_MAX) + if (t - p > NAME_MAX) return false; return true; diff --git a/src/basic/user-util.c b/src/basic/user-util.c index 1fad342cef3..0ea4e409fac 100644 --- a/src/basic/user-util.c +++ b/src/basic/user-util.c @@ -836,7 +836,7 @@ bool valid_user_group_name(const char *u, ValidUserFlags flags) { if (l > (size_t) sz) return false; - if (l > FILENAME_MAX) + if (l > NAME_MAX) /* must fit in a filename */ return false; if (l > UT_NAMESIZE - 1) return false;