diff options
Diffstat (limited to 'core/fpdfapi/parser/cpdf_syntax_parser.cpp')
-rw-r--r-- | core/fpdfapi/parser/cpdf_syntax_parser.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/core/fpdfapi/parser/cpdf_syntax_parser.cpp b/core/fpdfapi/parser/cpdf_syntax_parser.cpp index ecf2cf6e5b..7b7495dfc6 100644 --- a/core/fpdfapi/parser/cpdf_syntax_parser.cpp +++ b/core/fpdfapi/parser/cpdf_syntax_parser.cpp @@ -724,10 +724,11 @@ std::unique_ptr<CPDF_Stream> CPDF_SyntaxParser::ReadStream( } m_Pos = streamStartPos; } - - // Read up to the end of the buffer. + // Read up to the end of the buffer. Note, we allow zero length streams as + // we need to pass them through when we are importing pages into a new + // document. len = std::min(len, m_FileLen - m_Pos - m_HeaderOffset); - if (len <= 0) + if (len < 0) return nullptr; std::unique_ptr<uint8_t, FxFreeDeleter> pData; @@ -745,7 +746,6 @@ std::unique_ptr<CPDF_Stream> CPDF_SyntaxParser::ReadStream( pData = dest_buf.DetachBuffer(); } } - auto pStream = pdfium::MakeUnique<CPDF_Stream>(std::move(pData), len, std::move(pDict)); streamStartPos = m_Pos; |