Fix get_magic() handling of short reads.

PR16389

llvm-svn: 184434
This commit is contained in:
Evgeniy Stepanov 2013-06-20 15:56:05 +00:00
parent ef85291670
commit 6eb4484319
1 changed files with 2 additions and 2 deletions

View File

@ -694,7 +694,7 @@ error_code get_magic(const Twine &path, uint32_t len,
if (std::ferror(file) != 0) { if (std::ferror(file) != 0) {
std::fclose(file); std::fclose(file);
return error_code(errno, system_category()); return error_code(errno, system_category());
} else if (size != result.size()) { } else if (size != len) {
if (std::feof(file) != 0) { if (std::feof(file) != 0) {
std::fclose(file); std::fclose(file);
result.set_size(size); result.set_size(size);
@ -702,7 +702,7 @@ error_code get_magic(const Twine &path, uint32_t len,
} }
} }
std::fclose(file); std::fclose(file);
result.set_size(len); result.set_size(size);
return error_code::success(); return error_code::success();
} }