From 309105678b64839c671b6fa2450b500276692664 Mon Sep 17 00:00:00 2001 From: Matthew Olsson Date: Mon, 10 May 2021 11:41:36 -0700 Subject: [PATCH] LibPDF: Fix bad resolve_to calls in Document We can't call resolve_to with IndirectValue{,Ref}, since the values will obviously be resolved, and will not give us the object of the correct type. --- Userland/Libraries/LibPDF/Document.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibPDF/Document.cpp b/Userland/Libraries/LibPDF/Document.cpp index c95966c867..627593fa73 100644 --- a/Userland/Libraries/LibPDF/Document.cpp +++ b/Userland/Libraries/LibPDF/Document.cpp @@ -148,7 +148,7 @@ void Document::add_page_tree_node_to_page_tree(NonnullRefPtr page_tr // these pages to the overall page tree for (auto& value : *kids_array) { - auto reference = resolve_to(value); + auto reference = object_cast(value.as_object()); auto byte_offset = m_xref_table.byte_offset_for_object(reference->index()); auto maybe_page_tree_node = m_parser.conditionally_parse_page_tree_node_at_offset(byte_offset); if (maybe_page_tree_node) { @@ -163,7 +163,7 @@ void Document::add_page_tree_node_to_page_tree(NonnullRefPtr page_tr // We know all of the kids are leaf nodes for (auto& value : *kids_array) { - auto reference = resolve_to(value); + auto reference = object_cast(value.as_object()); m_page_object_indices.append(reference->index()); } }