aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/BufferInputSource.cc
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-10-22 11:44:48 +0200
committerJay Berkenbilt <ejb@ql.org>2020-10-22 11:48:40 +0200
commit7f4a4df919f0b305ba7d3b63ed722ab38e3eb2d5 (patch)
tree1f66c115fe66138f5a49a8a30768dfbbd4ae4938 /libqpdf/BufferInputSource.cc
parent24196c08cb2457ab3e7a6d0226e6c28ac55bb832 (diff)
downloadqpdf-7f4a4df919f0b305ba7d3b63ed722ab38e3eb2d5.tar.zst
Add range_check method to QIntC
Diffstat (limited to 'libqpdf/BufferInputSource.cc')
-rw-r--r--libqpdf/BufferInputSource.cc19
1 files changed, 2 insertions, 17 deletions
diff --git a/libqpdf/BufferInputSource.cc b/libqpdf/BufferInputSource.cc
index fb4010ef..9e9b4c17 100644
--- a/libqpdf/BufferInputSource.cc
+++ b/libqpdf/BufferInputSource.cc
@@ -102,21 +102,6 @@ BufferInputSource::tell()
}
void
-BufferInputSource::range_check(qpdf_offset_t cur, qpdf_offset_t delta)
-{
- if ((delta > 0) &&
- ((std::numeric_limits<qpdf_offset_t>::max() - cur) < delta))
- {
- std::ostringstream msg;
- msg.imbue(std::locale::classic());
- msg << "seeking forward from " << cur
- << " by " << delta
- << " would cause an overflow of the offset type";
- throw std::range_error(msg.str());
- }
-}
-
-void
BufferInputSource::seek(qpdf_offset_t offset, int whence)
{
switch (whence)
@@ -126,12 +111,12 @@ BufferInputSource::seek(qpdf_offset_t offset, int whence)
break;
case SEEK_END:
- range_check(this->m->max_offset, offset);
+ QIntC::range_check(this->m->max_offset, offset);
this->m->cur_offset = this->m->max_offset + offset;
break;
case SEEK_CUR:
- range_check(this->m->cur_offset, offset);
+ QIntC::range_check(this->m->cur_offset, offset);
this->m->cur_offset += offset;
break;