aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-06-05 17:16:05 +0200
committerEgor Tensin <egor@tensin.name>2026-06-05 17:16:05 +0200
commit0cf7efefba6c3a23d7eecdf2790b55ab7cd0dc38 (patch)
tree3367ba1dbedd0b71ca5d542469aa906f3e4b0991
parenttry a fix for compiler warnings (diff)
downloadwinapi-common-0cf7efefba6c3a23d7eecdf2790b55ab7cd0dc38.tar.gz
winapi-common-0cf7efefba6c3a23d7eecdf2790b55ab7cd0dc38.zip
fix a warning
Diffstat (limited to '')
-rw-r--r--src/file.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/file.cpp b/src/file.cpp
index 275f0fc..7d1df8e 100644
--- a/src/file.cpp
+++ b/src/file.cpp
@@ -12,6 +12,7 @@
#include <cstddef>
#include <cstdint>
#include <cstring>
+#include <limits>
#include <stdexcept>
#include <string>
@@ -127,7 +128,8 @@ std::size_t File::get_size() const {
if (!GetFileSizeEx(get(), &size))
throw error::windows(GetLastError(), "GetFileSizeEx");
- if (size.QuadPart < 0 || size.QuadPart > SIZE_MAX)
+ if (size.QuadPart < 0 ||
+ static_cast<ULONGLONG>(size.QuadPart) > std::numeric_limits<std::size_t>::max())
throw std::runtime_error{"invalid file size"};
return static_cast<std::size_t>(size.QuadPart);
}