Make fixdep error handling more explicit
Ben Gamari [Wed, 22 Dec 2010 18:30:14 +0000 (13:30 -0500)]
Also add missing error handling to fstat call

Signed-off-by: Ben Gamari <bgamari.foss@gmail.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>

scripts/basic/fixdep.c

index ed05846..c9a16ab 100644 (file)
@@ -286,7 +286,7 @@ static void do_config_file(const char *filename)
 
        fd = open(filename, O_RDONLY);
        if (fd < 0) {
-               fprintf(stderr, "fixdep: ");
+               fprintf(stderr, "fixdep: error opening config file: ");
                perror(filename);
                exit(2);
        }
@@ -357,11 +357,15 @@ static void print_deps(void)
 
        fd = open(depfile, O_RDONLY);
        if (fd < 0) {
-               fprintf(stderr, "fixdep: ");
+               fprintf(stderr, "fixdep: error opening depfile: ");
                perror(depfile);
                exit(2);
        }
-       fstat(fd, &st);
+       if (fstat(fd, &st) < 0) {
+                fprintf(stderr, "fixdep: error fstat'ing depfile: ");
+                perror(depfile);
+                exit(2);
+        }
        if (st.st_size == 0) {
                fprintf(stderr,"fixdep: %s is empty\n",depfile);
                close(fd);