From 5aa8225f493dc3c3171662fecc8a9ff5d0a16feb Mon Sep 17 00:00:00 2001 From: m-holger Date: Sat, 25 Jun 2022 15:59:39 +0100 Subject: Refactor QPDFObjectTypeAccessor and QPDFObjectHandle::dereference --- include/qpdf/QPDFObjectHandle.hh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/qpdf/QPDFObjectHandle.hh b/include/qpdf/QPDFObjectHandle.hh index 6a047936..07e70531 100644 --- a/include/qpdf/QPDFObjectHandle.hh +++ b/include/qpdf/QPDFObjectHandle.hh @@ -1464,7 +1464,10 @@ class QPDFObjectHandle static std::shared_ptr getObject(QPDFObjectHandle& o) { - o.dereference(); + if (!o.dereference()) { + throw std::logic_error("attempted to dereference an" + " uninitialized QPDFObjectHandle"); + }; return o.obj; } }; @@ -1573,7 +1576,7 @@ class QPDFObjectHandle void typeWarning(char const* expected_type, std::string const& warning); void objectWarning(std::string const& warning); void assertType(char const* type_name, bool istype); - void dereference(); + bool dereference(); void copyObject( std::set& visited, bool cross_indirect, -- cgit v1.2.3-54-g00ecf