diff --git a/src/map/ENC/iso8211.cpp b/src/map/ENC/iso8211.cpp index 1ae28bc8..d7063e99 100644 --- a/src/map/ENC/iso8211.cpp +++ b/src/map/ENC/iso8211.cpp @@ -142,12 +142,11 @@ int ISO8211::readDR(QVector &fields) bool ISO8211::readDDA(const FieldDefinition &def, SubFields &fields) { static QRegularExpression re("(\\d*)(\\w+)\\(*(\\d*)\\)*"); - QByteArray ba; + QByteArray ba(def.size, Qt::Initialization::Uninitialized); bool repeat = false; QVector defs; QVector defTags; - ba.resize(def.size); if (!(_file.seek(def.pos) && _file.read(ba.data(), ba.size()) == ba.size())) return false; @@ -236,9 +235,8 @@ bool ISO8211::readDDR() bool ISO8211::readUDA(quint64 pos, const FieldDefinition &def, const QVector &fields, bool repeat, Data &data) { - QByteArray ba; + QByteArray ba(def.size, Qt::Initialization::Uninitialized); - ba.resize(def.size); if (!(_file.seek(pos + def.pos) && _file.read(ba.data(), ba.size()) == ba.size())) return false; @@ -248,8 +246,7 @@ bool ISO8211::readUDA(quint64 pos, const FieldDefinition &def, const char *ep = ba.constData() + ba.size() - 1; do { - QVector row; - row.resize(fields.size()); + QVector row(fields.size()); for (int i = 0; i < fields.size(); i++) { const SubFieldDefinition &f = fields.at(i);