Check for empty streams earlier in CPDF_StreamAcc::LoadAllData(). Change-Id: I91c8d7d837e4c2104d56d725c16a28d49399aaca Reviewed-on: https://pdfium-review.googlesource.com/42592 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_stream_acc.cpp b/core/fpdfapi/parser/cpdf_stream_acc.cpp index 4614dae..dc6b180 100644 --- a/core/fpdfapi/parser/cpdf_stream_acc.cpp +++ b/core/fpdfapi/parser/cpdf_stream_acc.cpp
@@ -27,16 +27,17 @@ if (!m_pStream) return; - bool bProcessRawData = bRawAccess || !m_pStream->HasFilter(); - if (bProcessRawData && m_pStream->IsMemoryBased()) { - m_dwSize = m_pStream->GetRawSize(); - m_pData = m_pStream->GetInMemoryRawData(); - return; - } uint32_t dwSrcSize = m_pStream->GetRawSize(); if (dwSrcSize == 0) return; + bool bProcessRawData = bRawAccess || !m_pStream->HasFilter(); + if (bProcessRawData && m_pStream->IsMemoryBased()) { + m_pData = m_pStream->GetInMemoryRawData(); + m_dwSize = dwSrcSize; + return; + } + uint8_t* pSrcData; if (m_pStream->IsMemoryBased()) { pSrcData = m_pStream->GetInMemoryRawData();