summaryrefslogtreecommitdiffstats
path: root/o3d/import/cross/archive_processor.cc
diff options
context:
space:
mode:
Diffstat (limited to 'o3d/import/cross/archive_processor.cc')
-rw-r--r--o3d/import/cross/archive_processor.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/o3d/import/cross/archive_processor.cc b/o3d/import/cross/archive_processor.cc
index e400cf1..674579f 100644
--- a/o3d/import/cross/archive_processor.cc
+++ b/o3d/import/cross/archive_processor.cc
@@ -75,8 +75,10 @@ StreamProcessor::Status ArchiveProcessor::ProcessFile(const char *filename) {
// progressive streaming system
FILE *fp = fopen(filename, "rb");
if (!fp) return FAILURE; // can't open file!
- fread(p, sizeof(uint8), file_length, fp);
- fclose(fp);
+ if (static_cast<size_t>(file_length) !=
+ fread(p, sizeof(uint8), file_length, fp))
+ return FAILURE;
+ if (0 != fclose(fp)) return FAILURE;
MemoryReadStream stream(p, file_length);