From 8ca94009f826315002d62364efe0c880a13ba8c5 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 8 Mar 2021 21:44:39 +0100 Subject: [PATCH] basic: tighten two filename length checks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- src/basic/cgroup-util.c | 2 +- src/basic/user-util.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 0ecb8d944e..7372b06024 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 1fad342cef..0ea4e409fa 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;