]> git.itanic.dy.fi Git - rrdd/blobdiff - built_in_parsers.c
Silence gcc-8 snprintf overflow warnings
[rrdd] / built_in_parsers.c
index bf65ee9ad62006ee69b21fce0ec80d4ed95125cf..c18c080e972283dd4de30a3916fea78630089076 100644 (file)
@@ -108,11 +108,16 @@ static int mem_parser(char *data, const char **p, void **state)
 
 int cpu_mem_parser(char *data, const char **p, void **state)
 {
+       int ret;
        char cpu[RRD_DATA_MAX_LEN], mem[RRD_DATA_MAX_LEN];
 
        cpu_parser(cpu, p, state);
        mem_parser(mem, p, state);
-       snprintf(data, RRD_DATA_MAX_LEN, "%s:%s", cpu, mem);
+       ret = snprintf(data, RRD_DATA_MAX_LEN, "%s:%s", cpu, mem);
+
+       /* No actual data overflow, snprintf just couldn't fit all data in the buffer */
+       if (ret >= RRD_DATA_MAX_LEN)
+               pr_err("Buffer overlfow\n");
 
        return 0;
 }