1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 20:07:36 +00:00

LibPDF: Fix navigate_to_before_eof_marker() for PDFs not ending in EOL

The way this was factored before, we would miss the %%EOF marker if it
didn't have a valid end-of-line sequence after it.
This commit is contained in:
Julian Offenhäuser 2023-03-21 20:02:11 +01:00 committed by Andreas Kling
parent fca9da4191
commit fd78875662

View file

@ -692,21 +692,15 @@ bool DocumentParser::navigate_to_before_eof_marker()
m_reader.set_reading_backwards(); m_reader.set_reading_backwards();
while (!m_reader.done()) { while (!m_reader.done()) {
m_reader.move_until([&](auto) { return m_reader.matches_eol(); });
if (m_reader.done())
return false;
m_reader.consume_eol(); m_reader.consume_eol();
if (!m_reader.matches("%%EOF")) if (m_reader.matches("%%EOF")) {
continue;
m_reader.move_by(5); m_reader.move_by(5);
if (!m_reader.matches_eol())
continue;
m_reader.consume_eol();
return true; return true;
} }
m_reader.move_until([&](auto) { return m_reader.matches_eol(); });
}
return false; return false;
} }