irq = dec_to_longlong(str, &str);
softirq = dec_to_longlong(str, &str);
- sprintf(data, "%lld:%lld:%lld:%lld:%lld:%lld:%lld",
+ snprintf(data, RRD_DATA_MAX_LEN, "%lld:%lld:%lld:%lld:%lld:%lld:%lld",
user, nice, sys, idle, wait, irq, softirq);
fclose(file);
}
fclose(file);
- sprintf(data, "%f:%f:%f:%f:%f:%f:%f:%f:%f:%f",
+ snprintf(data, RRD_DATA_MAX_LEN, "%f:%f:%f:%f:%f:%f:%f:%f:%f:%f",
free / 1024.0,
buffered / 1024.0,
cache / 1024.0,
cpu_parser(cpu, p);
mem_parser(mem, p);
- sprintf(data, "%s:%s", cpu, mem);
+ snprintf(data, RRD_DATA_MAX_LEN, "%s:%s", cpu, mem);
return 0;
}
while (fgets(buf, 1024, readf));
harvest_zombies(pid);
- sprintf(data, "%.2f:%.2f", t3, t2);
+ snprintf(data, RRD_DATA_MAX_LEN, "%.2f:%.2f", t3, t2);
return 0;
}
int ret;
ret = digitemp_parser(buf, p);
- sprintf(data, "U:%s", buf);
+ snprintf(data, RRD_DATA_MAX_LEN, "U:%s", buf);
return ret;
}
#ifndef _PARSER_H
#define _PARSER_H
+#define RRD_DATA_MAX_LEN 4096
+
int cpu_parser(char *data, void *p);
int mem_parser(char *data, void *p);
int cpu_mem_parser(char *data, void *p);