Merge pull request #12379 from alalek:fix_warning_win32

This commit is contained in:
Alexander Alekhin 2018-09-02 11:50:32 +00:00
commit 5eb295adf3
2 changed files with 10 additions and 1 deletions

View File

@ -107,7 +107,7 @@ bool WebPDecoder::readHeader()
{
fs.open(m_filename.c_str(), std::ios::binary);
fs.seekg(0, std::ios::end);
fs_size = fs.tellg();
fs_size = safeCastToSizeT(fs.tellg(), "File is too large");
fs.seekg(0, std::ios::beg);
CV_Assert(fs && "File stream error");
CV_CheckGE(fs_size, WEBP_HEADER_SIZE, "File is too small");

View File

@ -44,6 +44,15 @@
int validateToInt(size_t step);
template <typename _Tp> static inline
size_t safeCastToSizeT(const _Tp v_origin, const char* msg)
{
const size_t value_cast = (size_t)v_origin;
if ((_Tp)value_cast != v_origin)
CV_Error(cv::Error::StsError, msg ? msg : "Can't cast value into size_t");
return value_cast;
}
struct PaletteEntry
{
unsigned char b, g, r, a;