diff --git a/libqpdf/QPDF_linearization.cc b/libqpdf/QPDF_linearization.cc index ac9abfa..b79959e 100644 --- a/libqpdf/QPDF_linearization.cc +++ b/libqpdf/QPDF_linearization.cc @@ -4,6 +4,7 @@ #include #include +#include #include #include #include @@ -96,14 +97,10 @@ QPDF::isLinearized() // The PDF spec says the linearization dictionary must be completely contained within the first // 1024 bytes of the file. Add a byte for a null terminator. - static int const tbuf_size = 1025; - - auto b = std::make_unique(tbuf_size); - char* buf = b.get(); - m->file->seek(0, SEEK_SET); - memset(buf, '\0', tbuf_size); - m->file->read(buf, tbuf_size - 1); + auto buffer = m->file->read(1024, 0); + auto buf = buffer.data(); + auto tbuf_size = buffer.size(); int lindict_obj = -1; char* p = buf; while (lindict_obj == -1) {