瀏覽代碼

LibPDF: Use resolve_to on /Dests entry

Fixes an assertion if /Dests is an indirect object (`24 0 R`)
instead of an inline dictionary.
Nico Weber 1 年之前
父節點
當前提交
fbd00d9c8e
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      Userland/Libraries/LibPDF/Document.cpp

+ 1 - 1
Userland/Libraries/LibPDF/Document.cpp

@@ -502,7 +502,7 @@ PDFErrorOr<Destination> Document::create_destination_from_object(NonnullRefPtr<O
         else
             dest_name = dest_obj->cast<StringObject>()->string();
         if (auto dests_value = m_catalog->get(CommonNames::Dests); dests_value.has_value()) {
-            auto dests = dests_value.value().get<NonnullRefPtr<Object>>()->cast<DictObject>();
+            auto dests = TRY(resolve_to<DictObject>(dests_value.value()));
             auto entry = MUST(dests->get_object(this, dest_name));
             return TRY(create_destination_from_dictionary_entry(entry, page_number_by_index_ref));
         }