Explorar el Código

Merge pull request #43441 from pWNn1sher/master

Checking for half_image_size[ x & y ] to be non-negative.
Rémi Verschelde hace 4 años
padre
commit
a80ec80b57
Se han modificado 1 ficheros con 4 adiciones y 4 borrados
  1. 4 4
      thirdparty/jpeg-compressor/jpgd.cpp

+ 4 - 4
thirdparty/jpeg-compressor/jpgd.cpp

@@ -1669,7 +1669,7 @@ namespace jpgd {
 		int row = m_max_mcu_y_size - m_mcu_lines_left;
 		int row = m_max_mcu_y_size - m_mcu_lines_left;
 		uint8* d0 = m_pScan_line_0;
 		uint8* d0 = m_pScan_line_0;
 
 
-		const int half_image_x_size = (m_image_x_size >> 1) - 1;
+		const int half_image_x_size = (m_image_x_size == 1) ? 0 : (m_image_x_size >> 1) - 1;
 		const int row_x8 = row * 8;
 		const int row_x8 = row * 8;
 
 
 		for (int x = 0; x < m_image_x_size; x++)
 		for (int x = 0; x < m_image_x_size; x++)
@@ -1762,7 +1762,7 @@ namespace jpgd {
 		int y = m_image_y_size - m_total_lines_left;
 		int y = m_image_y_size - m_total_lines_left;
 		int row = y & 15;
 		int row = y & 15;
 
 
-		const int half_image_y_size = (m_image_y_size >> 1) - 1;
+		const int half_image_y_size = (m_image_y_size == 1) ? 0 : (m_image_y_size >> 1) - 1;
 
 
 		uint8* d0 = m_pScan_line_0;
 		uint8* d0 = m_pScan_line_0;
 
 
@@ -1891,7 +1891,7 @@ namespace jpgd {
 		int y = m_image_y_size - m_total_lines_left;
 		int y = m_image_y_size - m_total_lines_left;
 		int row = y & 15;
 		int row = y & 15;
 
 
-		const int half_image_y_size = (m_image_y_size >> 1) - 1;
+		const int half_image_y_size = (m_image_y_size == 1) ? 0 : (m_image_y_size >> 1) - 1;
 
 
 		uint8* d0 = m_pScan_line_0;
 		uint8* d0 = m_pScan_line_0;
 
 
@@ -1915,7 +1915,7 @@ namespace jpgd {
 		const int y0_base = (c_y0 & 7) * 8 + 256;
 		const int y0_base = (c_y0 & 7) * 8 + 256;
 		const int y1_base = (c_y1 & 7) * 8 + 256;
 		const int y1_base = (c_y1 & 7) * 8 + 256;
 
 
-		const int half_image_x_size = (m_image_x_size >> 1) - 1;
+		const int half_image_x_size = (m_image_x_size == 1) ? 0 : (m_image_x_size >> 1) - 1;
 
 
 		static const uint8_t s_muls[2][2][4] =
 		static const uint8_t s_muls[2][2][4] =
 		{
 		{