X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fintel_rdt.c;h=62848dbfe5e24046fae4a4f3ae76606720fb47b6;hp=a68620efd6fb85f92e99c6f5df148e3687ef3af5;hb=0bbf058d6f9935e6e727cda7db79312281e2f58d;hpb=693416be279374e55a186d207eb0b223c28b5199 diff --git a/src/intel_rdt.c b/src/intel_rdt.c index a68620ef..62848dbf 100644 --- a/src/intel_rdt.c +++ b/src/intel_rdt.c @@ -105,7 +105,7 @@ static void rdt_submit_derive(const char *cgroup, const char *type, vl.values_len = 1; sstrncpy(vl.plugin, RDT_PLUGIN, sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); sstrncpy(vl.type, type, sizeof(vl.type)); if (type_instance) sstrncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); @@ -121,7 +121,7 @@ static void rdt_submit_gauge(const char *cgroup, const char *type, vl.values_len = 1; sstrncpy(vl.plugin, RDT_PLUGIN, sizeof(vl.plugin)); - snprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); + ssnprintf(vl.plugin_instance, sizeof(vl.plugin_instance), "%s", cgroup); sstrncpy(vl.type, type, sizeof(vl.type)); if (type_instance) sstrncpy(vl.type_instance, type_instance, sizeof(vl.type_instance)); @@ -144,8 +144,8 @@ static void rdt_dump_cgroups(void) { memset(cores, 0, sizeof(cores)); for (size_t j = 0; j < cgroup->num_cores; j++) { - snprintf(cores + strlen(cores), sizeof(cores) - strlen(cores) - 1, " %d", - cgroup->cores[j]); + ssnprintf(cores + strlen(cores), sizeof(cores) - strlen(cores) - 1, " %d", + cgroup->cores[j]); } DEBUG(RDT_PLUGIN ": group[%zu]:", i); @@ -171,8 +171,8 @@ static void rdt_dump_ngroups(void) { for (size_t i = 0; i < g_rdt->num_ngroups; i++) { memset(names, 0, sizeof(names)); for (size_t j = 0; j < g_rdt->ngroups[i].num_names; j++) - snprintf(names + strlen(names), sizeof(names) - strlen(names) - 1, " %s", - g_rdt->ngroups[i].names[j]); + ssnprintf(names + strlen(names), sizeof(names) - strlen(names) - 1, " %s", + g_rdt->ngroups[i].names[j]); DEBUG(RDT_PLUGIN ": group[%d]:", (int)i); DEBUG(RDT_PLUGIN ": description: %s", g_rdt->ngroups[i].desc); @@ -249,8 +249,8 @@ static void rdt_dump_pids_data(void) { for (size_t j = 0; j < g_rdt->ngroups[i].num_names; ++j) { pids_list_t *list = g_rdt->ngroups[i].proc_pids[j]->curr; for (size_t k = 0; k < list->size; k++) - snprintf(pids + strlen(pids), sizeof(pids) - strlen(pids) - 1, " %u", - list->pids[k]); + ssnprintf(pids + strlen(pids), sizeof(pids) - strlen(pids) - 1, " %u", + list->pids[k]); } DEBUG(RDT_PLUGIN ": [%s] %s", g_rdt->ngroups[i].desc, pids); } @@ -325,8 +325,12 @@ static int strlisttoarray(char *str_list, char ***names, size_t *names_num) { continue; if ((isdupstr((const char **)*names, *names_num, token))) { - ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'", - token, str_list); + if (str_list != NULL) + ERROR(RDT_PLUGIN ": Duplicated process name \'%s\' in group \'%s\'", + token, str_list); + else + ERROR(RDT_PLUGIN ": Duplicated process name \'%s\'", token); + return -EINVAL; } else { if (0 != strarray_add(names, names_num, token)) { @@ -851,9 +855,9 @@ static void rdt_init_pids_monitoring() { } /* update global proc_pids table */ - proc_pids_t **proc_pids = realloc(g_rdt->proc_pids, - (g_rdt->num_proc_pids + ng->num_names) * - sizeof(*g_rdt->proc_pids)); + proc_pids_t **proc_pids = + realloc(g_rdt->proc_pids, (g_rdt->num_proc_pids + ng->num_names) * + sizeof(*g_rdt->proc_pids)); if (NULL == proc_pids) { ERROR(RDT_PLUGIN ": Alloc error\n"); continue; @@ -922,7 +926,7 @@ static int rdt_default_cgroups(void) { cgroup->num_cores = 1; cgroup->cores[0] = i; - snprintf(desc, sizeof(desc), "%d", g_rdt->pqos_cpu->cores[i].lcore); + ssnprintf(desc, sizeof(desc), "%d", g_rdt->pqos_cpu->cores[i].lcore); cgroup->desc = strdup(desc); if (cgroup->desc == NULL) { ERROR(RDT_PLUGIN ": Error allocating core group description");