]> git.itanic.dy.fi Git - rrdd/blobdiff - onewire_parser.c
Silence gcc-8 snprintf overflow warnings
[rrdd] / onewire_parser.c
index decc133e940eda7fcabc8bfc9d7ef5121061af0a..7d1e8a6e3d7eb3fbe6b91643c363a99e699524ef 100644 (file)
@@ -124,6 +124,7 @@ static int parse_opts(const char *str, char *ow_path, size_t pathlen,
 
 static int make_uncached(char *path, size_t len)
 {
+       int ret;
        char p1[1024], p2[1024], *p = path;
 
        if (strstr(path, "/uncached/"))
@@ -147,7 +148,11 @@ static int make_uncached(char *path, size_t len)
 
        strncpy(p1, path, sizeof(p1) - 1);
        strncpy(p2, p, sizeof(p2) - 1);
-       snprintf(path, len, "%s/uncached/%s", p1, p2);
+       ret = snprintf(path, len, "%s/uncached/%s", p1, p2);
+
+       /* 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;
 }