Skip to content
Snippets Groups Projects
Commit d5978ba3 authored by FlorealRISSO's avatar FlorealRISSO Committed by ghuter
Browse files

sprintf -> snprintf

parent e3c98657
Branches
No related tags found
3 merge requests!9fix sensor example (doc),!4Amd, Tests, Doc, CI/CD,!3Amd, tests, doc...
......@@ -161,6 +161,7 @@ uint64_t raw_to_microjoule(uint64_t raw, unsigned int unit)
// Joule * 1000000 -> uJoule
return (uint64_t) (((double) raw * to_microjoule) / (double)(1U << unit));
}
uint64_t raw_to_joule(uint64_t raw, uint64_t unit)
{
// raw * (1 / (unit^2)) -> Joule
......@@ -202,7 +203,7 @@ unsigned int get_nb_cpu()
unsigned int n_cpu = 0;
for (;; n_cpu++) {
sprintf(filename, base_str, n_cpu);
snprintf(filename, BUFFER_SIZE, base_str, n_cpu);
int fd = open(filename, O_RDONLY);
if (fd < 0) {
......
......@@ -52,7 +52,7 @@ void *show_all_counters(void *none1, size_t none2)
UNUSED(none1);
UNUSED(none2);
exit(EXIT_SUCCESS);
return NULL; /* not reached */
return NULL; /* not reached */
}
void perf_type_key(__u32 **perf_type, __u64 **perf_key, int *indexes, int nb)
......
......@@ -66,7 +66,7 @@ unsigned int init_infiniband(char *infi_path, void **ptr)
char buffer[1024];
for (int i = 0; i < NB_SENSOR; i++) {
sprintf(buffer, filenames[i], infi_path);
snprintf(buffer, 1024, filenames[i], infi_path);
state->sources[i] = open(buffer, O_RDONLY);
}
......
......@@ -97,7 +97,7 @@ unsigned int init_network(char *dev, void **ptr)
char buffer2[256];
for (int i = 0; i < NB_SENSOR; i++) {
sprintf(buffer2, filenames[i], dev);
sprintf(buffer2, 256, filenames[i], dev);
state->sources[i] = open(buffer2, O_RDONLY);
}
......
......@@ -28,6 +28,7 @@
#include "util.h"
#define MAX_HEADER 128
#define BUFFER_SIZE 1024
char *get_rapl_string(const char *filename)
{
......@@ -40,15 +41,16 @@ char *get_rapl_string(const char *filename)
int nb = read(fd, result, MAX_HEADER);
close(fd);
result[nb - 1] = 0;
return (result);
return result;
}
void test_append(char *name, int i)
void append(char *name, int i, size_t buffer_size)
{
//char last = name[strlen(name)-1];
//if (last>='0' && last <= '9')
// return;
sprintf(name + strlen(name), "%d", i);
size_t name_len = strlen(name);
char* ptr = name + name_len;
size_t remaining_space = buffer_size - name_len;
snprintf(ptr, remaining_space, "%d", i);
}
......@@ -109,40 +111,33 @@ unsigned int init_rapl(char *none, void **ptr)
rapl->names = NULL;
rapl->fids = NULL;
char buffer[1024];
char buffer[BUFFER_SIZE];
char *name_base = "/sys/devices/virtual/powercap/intel-rapl/intel-rapl:%d/%s";
char *name_sub = "/sys/devices/virtual/powercap/intel-rapl/intel-rapl:%d/intel-rapl:%d:%d/%s";
for (unsigned int i = 0;; i++) {
sprintf(buffer, name_base, i, "name");
snprintf(buffer, BUFFER_SIZE, name_base, i, "name");
char *tmp = get_rapl_string(buffer);
if (tmp == NULL) {
break;
}
//printf("%s\n", tmp);
test_append(tmp, i);
//printf("%s -> %s\n", buffer, tmp);
sprintf(buffer, name_base, i, "energy_uj");
append(tmp, i, MAX_HEADER);
snprintf(buffer, BUFFER_SIZE, name_base, i, "energy_uj");
add_rapl_source(rapl, tmp, buffer);
free(tmp);
for (unsigned int j = 0;; j++) {
sprintf(buffer, name_sub, i, i, j, "name");
snprintf(buffer, BUFFER_SIZE, name_sub, i, i, j, "name");
char *tmp_sub = get_rapl_string(buffer);
if (tmp_sub == NULL) {
break;
}
//printf("%s\n", tmp_sub);
test_append(tmp_sub, i);
//printf("%s -> %s\n", buffer, tmp_sub);
sprintf(buffer, name_sub, i, i, j, "energy_uj");
append(tmp_sub, i, MAX_HEADER);
snprintf(buffer, BUFFER_SIZE, name_sub, i, i, j, "energy_uj");
add_rapl_source(rapl, tmp_sub, buffer);
free(tmp_sub);
......
......@@ -26,6 +26,8 @@
#include <stdint.h>
#include "util.h"
#define BUFFER_SIZE 512
struct Temperature {
char **label_list;
int *fid_list;
......@@ -65,13 +67,13 @@ void add_to_list(char ***list_name, char *source, int nb_elem)
void add_temperature_sensor(int id_rep, Temperature *state)
{
static int key = 0;
static char buffer_filename[512];
static char buffer_label[512];
static char buffer_filename[BUFFER_SIZE];
static char buffer_label[BUFFER_SIZE];
int delta = sprintf(buffer_label, "Temp_%d_", key);
int delta = snprintf(buffer_label, BUFFER_SIZE, "Temp_%d_", key);
for (int i = 1;; i++) {
sprintf(buffer_filename, "/sys/class/hwmon/hwmon%d/temp%d_label", id_rep, i);
snprintf(buffer_filename, BUFFER_SIZE, "/sys/class/hwmon/hwmon%d/temp%d_label", id_rep, i);
if (get_string(buffer_filename, buffer_label + delta, 100) == -1) {
break;
......@@ -89,7 +91,7 @@ void add_temperature_sensor(int id_rep, Temperature *state)
add_to_list(&state->label_list, buffer_label, state->nb_elem);
sprintf(buffer_filename, "/sys/class/hwmon/hwmon%d/temp%d_input", id_rep, i);
snprintf(buffer_filename, BUFFER_SIZE, "/sys/class/hwmon/hwmon%d/temp%d_input", id_rep, i);
state->fid_list = realloc(state->fid_list, (state->nb_elem + 1) * sizeof(int));
int fd = open(buffer_filename, O_RDONLY);
......@@ -116,11 +118,11 @@ unsigned int init_temperature(char *args, void **ptr)
state->fid_list = NULL;
char base_name[] = "/sys/class/hwmon/hwmon%d/name";
static char name[512];
static char buffer[512];
static char name[BUFFER_SIZE];
static char buffer[BUFFER_SIZE];
int i = 0;
sprintf(name, base_name, i);
snprintf(name, BUFFER_SIZE, base_name, i);
while (get_string(name, buffer, 8) != -1) {
if (strcmp(buffer, "coretemp") == 0) {
......@@ -128,7 +130,7 @@ unsigned int init_temperature(char *args, void **ptr)
}
i++;
sprintf(name, base_name, i);
snprintf(name, BUFFER_SIZE, base_name, i);
}
*ptr = (void *) state;
......@@ -138,7 +140,7 @@ unsigned int init_temperature(char *args, void **ptr)
unsigned int get_temperature(uint64_t *results, void *ptr)
{
Temperature *state = (Temperature *)ptr;
static char buffer[512];
static char buffer[BUFFER_SIZE];
for (int i = 0; i < state->nb_elem; i++) {
if (pread(state->fid_list[i], buffer, 100, 0) < 0) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment