@cryptotaxi247 / netdata-1 / commits / 9cdbd7faa

fix(cgroups.plugin): fix chart id length check (#13601)

Ilya Mashchenko committed Aug 31, 2022 at 18:37 UTC 9cdbd7faa5ab7673036c2fafdc01a8a2e8208ce2
1 file changed +4 -2
collectors/cgroups.plugin/sys_fs_cgroup.c
+4 -2
@@ -37,6 +37,8 @@
37 // ----------------------------------------------------------------------------
38 // cgroup globals
39
40 +static char cgroup_chart_id_prefix[] = "cgroup_";
41 +
42 static int is_inside_k8s = 0;
43
44 static long system_page_size = 4096; // system will be queried via sysconf() in configuration()
@@ -2682,7 +2684,7 @@ static inline void discovery_process_cgroup(struct cgroup *cg) {
2684
2685 cg->processed = 1;
2686
2685 - if (strlen(cg->chart_id) >= RRD_ID_LENGTH_MAX) {
2687 + if ((strlen(cg->chart_id) + strlen(cgroup_chart_id_prefix)) >= RRD_ID_LENGTH_MAX) {
2688 info("cgroup '%s' (chart id '%s') disabled because chart_id exceeds the limit (RRD_ID_LENGTH_MAX)", cg->id, cg->chart_id);
2689 return;
2690 }
@@ -3595,7 +3597,7 @@ static inline char *cgroup_chart_type(char *buffer, const char *id, size_t len)
3597 if(id[0] == '\0' || (id[0] == '/' && id[1] == '\0'))
3598 strncpy(buffer, "cgroup_root", len);
3599 else
3598 - snprintfz(buffer, len, "cgroup_%s", id);
3600 + snprintfz(buffer, len, "%s%s", cgroup_chart_id_prefix, id);
3601
3602 netdata_fix_chart_id(buffer);
3603 return buffer;