Fix get_magic() handling of short reads.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 20 Jun 2013 15:56:05 +0000 (15:56 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Thu, 20 Jun 2013 15:56:05 +0000 (15:56 +0000)
PR16389

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184434 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/Unix/PathV2.inc

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