Prevent an OOB access in CPDF_DIBSource::TranslateScanline24bpp
if |m_Family| was RGB, the code assumed there were 3 components, which
may not be the case.
BUG=chromium:602046
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1877033003
diff --git a/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
index 350c8b8..951d383 100644
--- a/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
+++ b/core/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp
@@ -918,6 +918,9 @@
unsigned int max_data = (1 << m_bpc) - 1;
if (m_bDefaultDecode) {
if (m_Family == PDFCS_DEVICERGB || m_Family == PDFCS_CALRGB) {
+ if (m_nComponents != 3)
+ return;
+
const uint8_t* src_pos = src_scan;
switch (m_bpc) {
case 16: