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();