]> git.ipfire.org Git - thirdparty/rrdtool-1.x.git/commitdiff
src/rrd_cgi.c: fix Coverity CID#13625 Truncated stdio return value
authorMarek Schimara <Marek.Schimara@bull.net>
Fri, 17 Jun 2016 11:40:08 +0000 (13:40 +0200)
committerMarek Schimara <Marek.Schimara@bull.net>
Thu, 23 Jun 2016 14:32:33 +0000 (16:32 +0200)
src/rrd_cgi.c

index 4e52721852618defc224408d28252e2308ae51bd..d1ebbb644c9c5c902eb0ab54951c3b15aa41b8d9 100644 (file)
@@ -418,7 +418,12 @@ static int readfile(
         totalcnt = (ftell(input) + 1) / sizeof(char) - offset;
         if (totalcnt < MEMBLK)
             totalcnt = MEMBLK;  /* sanitize */
-        fseek(input, offset * sizeof(char), SEEK_SET);
+        if (fseek(input, offset * sizeof(char), SEEK_SET) == -1)
+        {
+           rrd_set_error("fseek() failed on %s: %s", file_name, rrd_strerror(errno));
+           fclose(input);
+           return (-1);
+        }
     }
     if (((*buffer) = (char *) malloc((totalcnt + 4) * sizeof(char))) == NULL) {
         perror("Allocate Buffer:");