fixdep: add fstat error handling
No binary (build failed)
—
(log yok)
| @@ -105,6 +105,7 @@ | |
| #include <sys/types.h> | |
| #include <sys/stat.h> | |
| #include <sys/mman.h> | |
| + | #include <errno.h> |
| #include <unistd.h> | |
| #include <fcntl.h> | |
| #include <string.h> | |
| @@ -292,7 +293,10 @@ void do_config_file(char *filename) | |
| perror(filename); | |
| exit(2); | |
| } | |
| - | fstat(fd, &st); |
| + | if (fstat(fd, &st) < 0) { |
| + | fprintf(stderr, "fixdep: fstat %s %s\n", filename, strerror(errno)); |
| + | exit(2); |
| + | } |
| if (st.st_size == 0) { | |
| close(fd); | |
| return; | |
| @@ -368,7 +372,10 @@ void print_deps(void) | |
| perror(depfile); | |
| exit(2); | |
| } | |
| - | fstat(fd, &st); |
| + | if (fstat(fd, &st) < 0) { |
| + | fprintf(stderr, "fixdep: fstat %s %s\n", depfile, strerror(errno)); |
| + | exit(2); |
| + | } |
| if (st.st_size == 0) { | |
| fprintf(stderr,"fixdep: %s is empty\n",depfile); | |
| close(fd); | |