From: Mikhail Dmitrichenko Date: Wed, 13 Aug 2025 07:01:11 +0000 (+0530) Subject: src: make CGRP_RULE_MAXLINE include CG_OPTIONS_MAX X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=041a129199de28731c439ad425e63e084fdc3713;p=thirdparty%2Flibcgroup.git src: make CGRP_RULE_MAXLINE include CG_OPTIONS_MAX CGRP_RULE_MAXLINE const, which is used as a length for buffer for unparsed cgroup rules strings, doesn't include length of options field (CG_OPTIONS_MAX). Therefore buffer length is not enough to store all rule fields. Commit is aimed to include CG_OPTIONS_MAX in CGRP_RULE_MAXLINE to avoid potential problems with rules parsing. Found by Linux Verification Center (linuxtesting.org) with SVACE. [Kamalesh introduced tabs to align with macro continuation] Signed-off-by: Mikhail Dmitrichenko Acked-by: Tom Hromatka Signed-off-by: Kamalesh Babulal (cherry picked from commit 88fc455b8d0df20910ee2f8e90eb90a4752bd986) --- diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h index f99556b0..209b53d0 100644 --- a/src/libcgroup-internal.h +++ b/src/libcgroup-internal.h @@ -70,7 +70,8 @@ extern "C" { #define CGRP_RULE_MAXKEY (LOGIN_NAME_MAX + FILENAME_MAX + 1) /* Maximum length of a line in the daemon config file */ -#define CGRP_RULE_MAXLINE (FILENAME_MAX + CGRP_RULE_MAXKEY + CG_CONTROLLER_MAX + 3) +#define CGRP_RULE_MAXLINE (FILENAME_MAX + CGRP_RULE_MAXKEY + CG_CONTROLLER_MAX + \ + CG_OPTIONS_MAX + 4) #define CGRP_FILE_PREFIX "cgroup"