diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2009-12-17 09:18:43 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2009-12-17 09:18:43 +0000 |
commit | 4da689a0252275e865af846f0e75e733ba954ec2 (patch) | |
tree | fa95cbe52a68bff45032cb2f6ad283d522d9a71d /tools/c-index-test/c-index-test.c | |
parent | 82a64e501d50513d403e9293c54fca228a2645a6 (diff) |
Test for errors during fread() inside c-index-test and handle them
appropriately. This also silences some pedantic GCC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91596 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/c-index-test/c-index-test.c')
-rw-r--r-- | tools/c-index-test/c-index-test.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c index 7300585a1d..7040a7288a 100644 --- a/tools/c-index-test/c-index-test.c +++ b/tools/c-index-test/c-index-test.c @@ -461,7 +461,15 @@ int parse_remapped_files(int argc, const char **argv, int start_arg, /* Read the contents of the file we're remapping to. */ contents = (char *)malloc(unsaved->Length + 1); - fread(contents, 1, unsaved->Length, to_file); + if (fread(contents, 1, unsaved->Length, to_file) != unsaved->Length) { + fprintf(stderr, "error: unexpected %s reading 'to' file %s\n", + (feof(to_file) ? "EOF" : "error"), semi + 1); + fclose(to_file); + free_remapped_files(*unsaved_files, i); + *unsaved_files = 0; + *num_unsaved_files = 0; + return -1; + } contents[unsaved->Length] = 0; unsaved->Contents = contents; |