summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibPDF
diff options
context:
space:
mode:
authorMatthew Olsson <matthewcolsson@gmail.com>2021-05-26 22:51:10 -0700
committerAli Mohammad Pur <Ali.mpfard@gmail.com>2021-06-12 22:45:01 +0430
commitbe1be47613d4c9357df9c172eb45c532650035a5 (patch)
treeab39d261b4ab8c0904ebbf6f6511582abe2e6741 /Userland/Libraries/LibPDF
parentffda24373ab90ddf4b371dbddfee5019dff095ec (diff)
downloadserenity-be1be47613d4c9357df9c172eb45c532650035a5.zip
LibPDF: Fix two parser bugs
- A newline was assumed to follow the "stream" keyword, when it can also be a windows-style line break - Fix not consuming the "endobj" at the end of every indirect object
Diffstat (limited to 'Userland/Libraries/LibPDF')
-rw-r--r--Userland/Libraries/LibPDF/Parser.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/Userland/Libraries/LibPDF/Parser.cpp b/Userland/Libraries/LibPDF/Parser.cpp
index 0f919618c2..858ab7b195 100644
--- a/Userland/Libraries/LibPDF/Parser.cpp
+++ b/Userland/Libraries/LibPDF/Parser.cpp
@@ -316,7 +316,7 @@ Value Parser::parse_value()
auto dict = parse_dict();
if (!dict)
return {};
- if (m_reader.matches("stream\n"))
+ if (m_reader.matches("stream"))
return parse_stream(dict.release_nonnull());
return dict;
}
@@ -371,6 +371,9 @@ RefPtr<IndirectValue> Parser::parse_indirect_value(int index, int generation)
if (!m_reader.matches("endobj"))
return {};
+ consume(6);
+ consume_whitespace();
+
return make_object<IndirectValue>(index, generation, value);
}