nouveau: honor fread return value in the nouveau_compiler
authorEmil Velikov <emil.l.velikov@gmail.com>
Wed, 12 Mar 2014 16:58:26 +0000 (16:58 +0000)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 14 Mar 2014 13:00:01 +0000 (13:00 +0000)
There is little point of continuing if fread returns zero, as it
indicates that either the file is empty or cannot be read from.
Bail out if fread returns zero after closing the file.

Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nouveau_compiler.c

index 5f1e35a..ac22035 100644 (file)
@@ -173,9 +173,9 @@ main(int argc, char *argv[])
       return 1;
    }
 
-   fread(text, 1, sizeof(text), f);
-   if (ferror(f)) {
+   if (!fread(text, 1, sizeof(text), f) || ferror(f)) {
       _debug_printf("Error reading file '%s'\n", filename);
+      fclose(f);
       return 1;
    }
    fclose(f);