aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-10-27 15:40:30 +0200
committerm-holger <m-holger@kubitscheck.org>2023-11-01 16:21:08 +0100
commit37f7a734885f0d3c9dce64fbdb9a57192170686b (patch)
tree1c44c17695abacaca676684eacd308bb9b604071 /libqpdf/qpdf
parent29cd8f4f53dcad517ecba37978d6073daf43d819 (diff)
downloadqpdf-37f7a734885f0d3c9dce64fbdb9a57192170686b.tar.zst
In QPDFParser::parse refactor handling of bad tokens
Diffstat (limited to 'libqpdf/qpdf')
-rw-r--r--libqpdf/qpdf/QPDFParser.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/libqpdf/qpdf/QPDFParser.hh b/libqpdf/qpdf/QPDFParser.hh
index 35f9f603..2107a9b8 100644
--- a/libqpdf/qpdf/QPDFParser.hh
+++ b/libqpdf/qpdf/QPDFParser.hh
@@ -33,6 +33,7 @@ class QPDFParser
private:
enum parser_state_e { st_top, st_start, st_stop, st_eof, st_dictionary, st_array };
+ bool tooManyBadTokens();
void warn(qpdf_offset_t offset, std::string const& msg) const;
void warn(std::string const& msg) const;
void warn(QPDFExc const&) const;
@@ -43,6 +44,10 @@ class QPDFParser
QPDFObjectHandle::StringDecrypter* decrypter;
QPDF* context;
std::shared_ptr<QPDFValue::Description> description;
+ // Number of recent bad tokens.
+ int bad_count = 0;
+ // Number of good tokens since last bad token. Irrelevant if bad_count == 0.
+ int good_count = 0;
};
#endif // QPDFPARSER_HH