Index: core/src/fxcodec/lbmp/fx_bmp.cpp |
diff --git a/core/src/fxcodec/lbmp/fx_bmp.cpp b/core/src/fxcodec/lbmp/fx_bmp.cpp |
index 98bcefdaba4b4887aad4452f076cd4a0cd9c2e14..00477581a1c1ffc3910d7f74129aeeac0b0c914c 100644 |
--- a/core/src/fxcodec/lbmp/fx_bmp.cpp |
+++ b/core/src/fxcodec/lbmp/fx_bmp.cpp |
@@ -5,6 +5,16 @@ |
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
#include "fx_bmp.h" |
+ |
+#include <algorithm> |
+ |
+namespace { |
+ |
+const size_t kBmpCoreHeaderSize = 12; |
+const size_t kBmpInfoHeaderSize = 40; |
+ |
+} // namespace |
+ |
FX_DWORD _GetDWord_LSBFirst(uint8_t* p) { |
return p[0] | (p[1] << 8) | (p[2] << 16) | (p[3] << 24); |
} |
@@ -80,10 +90,12 @@ int32_t _bmp_read_header(bmp_decompress_struct_p bmp_ptr) { |
bmp_ptr->img_ifh_size = |
_GetDWord_LSBFirst(bmp_ptr->next_in + bmp_ptr->skip_size); |
bmp_ptr->pal_type = 0; |
- ASSERT(sizeof(BmpCoreHeader) == 12); |
- ASSERT(sizeof(BmpInfoHeader) == 40); |
+ static_assert(sizeof(BmpCoreHeader) == kBmpCoreHeaderSize, |
+ "BmpCoreHeader has wrong size"); |
+ static_assert(sizeof(BmpInfoHeader) == kBmpInfoHeaderSize, |
+ "BmpInfoHeader has wrong size"); |
switch (bmp_ptr->img_ifh_size) { |
- case FX_MIN(12, sizeof(BmpCoreHeader)): { |
+ case kBmpCoreHeaderSize: { |
bmp_ptr->pal_type = 1; |
BmpCoreHeaderPtr bmp_core_header_ptr = NULL; |
if (_bmp_read_data(bmp_ptr, (uint8_t**)&bmp_core_header_ptr, |
@@ -100,7 +112,7 @@ int32_t _bmp_read_header(bmp_decompress_struct_p bmp_ptr) { |
bmp_ptr->compress_flag = BMP_RGB; |
bmp_ptr->imgTB_flag = FALSE; |
} break; |
- case FX_MIN(40, sizeof(BmpInfoHeader)): { |
+ case kBmpInfoHeaderSize: { |
BmpInfoHeaderPtr bmp_info_header_ptr = NULL; |
if (_bmp_read_data(bmp_ptr, (uint8_t**)&bmp_info_header_ptr, |
bmp_ptr->img_ifh_size) == NULL) { |
@@ -127,7 +139,8 @@ int32_t _bmp_read_header(bmp_decompress_struct_p bmp_ptr) { |
} |
} break; |
default: { |
- if (bmp_ptr->img_ifh_size > FX_MIN(40, sizeof(BmpInfoHeader))) { |
+ if (bmp_ptr->img_ifh_size > |
+ std::min(kBmpInfoHeaderSize, sizeof(BmpInfoHeader))) { |
BmpInfoHeaderPtr bmp_info_header_ptr = NULL; |
if (_bmp_read_data(bmp_ptr, (uint8_t**)&bmp_info_header_ptr, |
bmp_ptr->img_ifh_size) == NULL) { |