From ef8ae5449dc30782451beba64fdd0af86e1cb931 Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Tue, 8 Aug 2017 21:44:37 -0400 Subject: Allow QPDFTokenizer::readToken to return bad tokens Sometimes we want to ignore bad tokens rather than having them throw an exception. A coverage case is commented out here and added in a later commit. --- include/qpdf/QPDF.hh | 3 ++- include/qpdf/QPDFTokenizer.hh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/qpdf/QPDF.hh b/include/qpdf/QPDF.hh index 58f6af6e..f57789a0 100644 --- a/include/qpdf/QPDF.hh +++ b/include/qpdf/QPDF.hh @@ -666,7 +666,8 @@ class QPDF size_t recoverStreamLength( PointerHolder input, int objid, int generation, qpdf_offset_t stream_offset); - QPDFTokenizer::Token readToken(PointerHolder); + QPDFTokenizer::Token readToken(PointerHolder, + bool allow_bad = false); QPDFObjectHandle readObjectAtOffset( bool attempt_recovery, diff --git a/include/qpdf/QPDFTokenizer.hh b/include/qpdf/QPDFTokenizer.hh index 2f3dfec2..39cb9225 100644 --- a/include/qpdf/QPDFTokenizer.hh +++ b/include/qpdf/QPDFTokenizer.hh @@ -138,7 +138,8 @@ class QPDFTokenizer // exception thrown if there is an error. QPDF_DLL Token readToken(PointerHolder input, - std::string const& context); + std::string const& context, + bool allow_bad = false); private: void reset(); -- cgit v1.2.3-70-g09d2