On 14/11/2018 16:30, asimiklit.w...@gmail.com wrote:
From: Andrii Simiklit <andrii.simik...@globallogic.com>

1. tools/i965_disasm.c:58:4: warning:
      ignoring return value of ‘fread’,
      declared with attribute warn_unused_result
      fread(assembly, *end, 1, fp);

v2: Fixed incorrect return value check.
        ( Eric Engestrom <eric.engest...@intel.com> )

v3: Zero size file check placed before fread with exit()
        ( Eric Engestrom <eric.engest...@intel.com> )

v4: - Title is changed.
     - The 'size' variable was moved to top of a function scope.
     - The assertion was replaced by the proper error handling.
     - The error message on a caller side was fixed.
        ( Eric Engestrom <eric.engest...@intel.com> )

Signed-off-by: Andrii Simiklit <andrii.simik...@globallogic.com>


With the nit below :


Reviewed-by: Lionel Landwerlin <lionel.g.landwer...@intel.com>


---
  src/intel/tools/i965_disasm.c | 16 +++++++++++++---
  1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/src/intel/tools/i965_disasm.c b/src/intel/tools/i965_disasm.c
index 73a6760fc1..0efbdab706 100644
--- a/src/intel/tools/i965_disasm.c
+++ b/src/intel/tools/i965_disasm.c
@@ -47,17 +47,23 @@ i965_disasm_get_file_size(FILE *fp)
  static void *
  i965_disasm_read_binary(FILE *fp, size_t *end)
  {
+   size_t size;
     void *assembly;
*end = i965_disasm_get_file_size(fp);
+   if (!*end)
+      return NULL;
assembly = malloc(*end + 1);
     if (assembly == NULL)
        return NULL;
- fread(assembly, *end, 1, fp);
+   size = fread(assembly, *end, 1, fp);
     fclose(fp);
-
+   if (!size) {
+      free(assembly);
+      return NULL;
+   }
     return assembly;
  }
@@ -167,7 +173,11 @@ int main(int argc, char *argv[]) assembly = i965_disasm_read_binary(fp, &end);
     if (!assembly) {
-      fprintf(stderr, "Unable to allocate buffer to read binary file\n");
+      if(end)
if (end)
+        fprintf(stderr, "Unable to allocate buffer to read binary file\n");
+      else
+        fprintf(stderr, "Input file is empty\n");
+
        exit(EXIT_FAILURE);
     }


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to