2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-06-10 06:02:27 +00:00

Tidy parameters in QPDF::recoverStreamLength

This commit is contained in:
m-holger 2023-05-22 11:00:33 +01:00
parent ea0fa9195f
commit f87ba88550
2 changed files with 8 additions and 13 deletions

View File

@ -1008,8 +1008,7 @@ class QPDF
std::string const& description,
QPDFObjGen const& og,
bool in_object_stream);
size_t recoverStreamLength(
std::shared_ptr<InputSource> input, QPDFObjGen const& og, qpdf_offset_t stream_offset);
size_t recoverStreamLength(InputSource& input, QPDFObjGen og, qpdf_offset_t stream_offset);
QPDFTokenizer::Token readToken(std::shared_ptr<InputSource>, size_t max_len = 0);
QPDFObjectHandle readObjectAtOffset(

View File

@ -1350,10 +1350,7 @@ QPDF::readObject(
if (!length_obj.isInteger()) {
QTC::TC("qpdf", "QPDF stream length not integer");
throw damagedPDF(
*input,
offset,
"/Length key in stream dictionary is not "
"an integer");
*input, offset, "/Length key in stream dictionary is not an integer");
}
length = toS(length_obj.getUIntValue());
@ -1367,7 +1364,7 @@ QPDF::readObject(
} catch (QPDFExc& e) {
if (m->attempt_recovery) {
warn(e);
length = recoverStreamLength(input, og, stream_offset);
length = recoverStreamLength(*input, og, stream_offset);
} else {
throw;
}
@ -1396,11 +1393,10 @@ QPDF::findEndstream()
}
size_t
QPDF::recoverStreamLength(
std::shared_ptr<InputSource> input, QPDFObjGen const& og, qpdf_offset_t stream_offset)
QPDF::recoverStreamLength(InputSource& input, QPDFObjGen og, qpdf_offset_t stream_offset)
{
// Try to reconstruct stream length by looking for endstream or endobj
warn(damagedPDF(*input, stream_offset, "attempting to recover stream length"));
warn(damagedPDF(input, stream_offset, "attempting to recover stream length"));
PatternFinder ef(*this, &QPDF::findEndstream);
size_t length = 0;
@ -1439,10 +1435,10 @@ QPDF::recoverStreamLength(
if (length == 0) {
warn(damagedPDF(
*input, stream_offset, "unable to recover stream data; treating stream as empty"));
input, stream_offset, "unable to recover stream data; treating stream as empty"));
} else {
warn(damagedPDF(
*input, stream_offset, "recovered stream length: " + std::to_string(length)));
warn(
damagedPDF(input, stream_offset, "recovered stream length: " + std::to_string(length)));
}
QTC::TC("qpdf", "QPDF recovered stream length");