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 5f1e35a0d24edd0083bbd2537c31fadf48159bea..ac22035ca8293d85141a5219b7f57432fbaa9d62 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);