| Index: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| index d5664c29ab46c0dd09d090b776bea1c11094ffe9..14a87f85e6044fd4b260e17f29730ccef74c015c 100644
|
| --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp
|
| @@ -2352,11 +2352,11 @@ CPDF_Stream* CPDF_SyntaxParser::ReadStream(CPDF_Dictionary* pDict,
|
| m_Pos += ReadEOLMarkers(m_Pos);
|
| FXSYS_memset(m_WordBuffer, 0, ENDSTREAM_LEN + 1);
|
| GetNextWord();
|
| - if (FXSYS_memcmp(m_WordBuffer, "endstream", ENDSTREAM_LEN) == 0 &&
|
| - IsWholeWord(m_Pos - ENDSTREAM_LEN, m_FileLen,
|
| - FX_BSTRC("endstream").GetPtr(), ENDSTREAM_LEN, TRUE)) {
|
| + // Earlier version of PDF specification doesn't require EOL marker before
|
| + // 'endstream' keyword. If keyword 'endstream' follows the bytes in
|
| + // specified length, it signals the end of stream.
|
| + if (FXSYS_memcmp(m_WordBuffer, "endstream", ENDSTREAM_LEN) == 0)
|
| bSearchForKeyword = FALSE;
|
| - }
|
| }
|
| if (bSearchForKeyword) {
|
| // If len is not available, len needs to be calculated
|
|
|