]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
src: make CGRP_RULE_MAXLINE include CG_OPTIONS_MAX
authorMikhail Dmitrichenko <m.dmitrichenko222@gmail.com>
Wed, 13 Aug 2025 07:01:11 +0000 (12:31 +0530)
committerKamalesh Babulal <kamalesh.babulal@oracle.com>
Wed, 13 Aug 2025 11:58:18 +0000 (17:28 +0530)
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 <m.dmitrichenko222@gmail.com>
Acked-by: Tom Hromatka <tom.hromatka@oracle.com>
Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
src/libcgroup-internal.h

index f99556b0ff838ce86b532b85674350ad3af3875c..209b53d06f8a098855b3b8dc3ebe48cfb37b3396 100644 (file)
@@ -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"