aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libqpdf/QPDF_Stream.cc4
-rw-r--r--qpdf/qtest/qpdf/issue-148.out5
2 files changed, 7 insertions, 2 deletions
diff --git a/libqpdf/QPDF_Stream.cc b/libqpdf/QPDF_Stream.cc
index 62d6a553..351df043 100644
--- a/libqpdf/QPDF_Stream.cc
+++ b/libqpdf/QPDF_Stream.cc
@@ -96,7 +96,9 @@ QPDF_Stream::getStreamData(qpdf_stream_decode_level_e decode_level)
Pl_Buffer buf("stream data buffer");
if (! pipeStreamData(&buf, 0, decode_level, false, false))
{
- throw std::logic_error("getStreamData called on unfilterable stream");
+ throw QPDFExc(qpdf_e_unsupported, qpdf->getFilename(),
+ "", this->offset,
+ "getStreamData called on unfilterable stream");
}
QTC::TC("qpdf", "QPDF_Stream getStreamData");
return buf.getBuffer();
diff --git a/qpdf/qtest/qpdf/issue-148.out b/qpdf/qtest/qpdf/issue-148.out
index 9cc9ac83..cde322d6 100644
--- a/qpdf/qtest/qpdf/issue-148.out
+++ b/qpdf/qtest/qpdf/issue-148.out
@@ -4,4 +4,7 @@ WARNING: issue-148.pdf (xref stream: object 8 0, file position 73): attempting t
WARNING: issue-148.pdf (xref stream: object 8 0, file position 73): recovered stream length: 2
WARNING: issue-148.pdf (xref stream: object 8 0, file position 85): expected endobj
WARNING: issue-148.pdf (file position 73): error decoding stream data for object 8 0: stream inflate: inflate: data: incorrect header check
-getStreamData called on unfilterable stream
+WARNING: issue-148.pdf: file is damaged
+WARNING: issue-148.pdf (file position 73): getStreamData called on unfilterable stream
+WARNING: issue-148.pdf: Attempting to reconstruct cross-reference table
+issue-148.pdf: unable to find trailer dictionary while recovering damaged file