mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 13:10:10 +01:00
intel/tools: make sure the binary file is properly read
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.engestrom@intel.com> )
v3: Zero size file check placed before fread with exit()
( Eric Engestrom <eric.engestrom@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.engestrom@intel.com> )
Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
parent
d7b99ab947
commit
6ae873b97d
1 changed files with 13 additions and 3 deletions
|
|
@ -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)
|
||||
fprintf(stderr, "Unable to allocate buffer to read binary file\n");
|
||||
else
|
||||
fprintf(stderr, "Input file is empty\n");
|
||||
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue