From e7760483096d31d3b39066c5510fb985c88c3528 Mon Sep 17 00:00:00 2001 From: Rodrigo Tobar Date: Mon, 21 Nov 2022 02:12:43 +0800 Subject: [PATCH] LibPDF: Ignore whitespace on hex strings The spec says that whitespaces should be ignored, but we weren't. PDFs with whitespaces in their hex strings were thus crushing the parser. --- Userland/Libraries/LibPDF/Parser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibPDF/Parser.cpp b/Userland/Libraries/LibPDF/Parser.cpp index 7c635ea6ac..6cd8136e40 100644 --- a/Userland/Libraries/LibPDF/Parser.cpp +++ b/Userland/Libraries/LibPDF/Parser.cpp @@ -364,6 +364,7 @@ String Parser::parse_hex_string() int hex_value = 0; for (int i = 0; i < 2; i++) { + m_reader.consume_whitespace(); auto ch = m_reader.consume(); if (ch == '>') { // The hex string contains an odd number of characters, and the last character @@ -373,7 +374,6 @@ String Parser::parse_hex_string() builder.append(static_cast(hex_value)); return builder.to_string(); } - VERIFY(isxdigit(ch)); hex_value *= 16;