QByteArray resize removal

- Removed QByteArray resize with potentially large numbers as in merge request !66
This commit is contained in:
Mirco Miranda 2022-04-14 23:04:58 +00:00 committed by Albert Astals Cid
parent 343954ca98
commit 52134fc2e9

View File

@ -216,11 +216,14 @@ static PSDImageResourceSection readImageResourceSection(QDataStream &s, bool *ok
quint32 dataSize; quint32 dataSize;
s >> dataSize; s >> dataSize;
size -= sizeof(dataSize); size -= sizeof(dataSize);
irb.data.resize(dataSize); // NOTE: Qt device::read() and QDataStream::readRawData() could read less data than specified.
auto read = s.readRawData(irb.data.data(), irb.data.size()); // The read code should be improved.
if(auto dev = s.device())
irb.data = dev->read(dataSize);
auto read = irb.data.size();
if (read > 0) if (read > 0)
size -= read; size -= read;
if (read != irb.data.size()) { if (read != dataSize) {
qDebug() << "Image Resource Block Read Error!"; qDebug() << "Image Resource Block Read Error!";
*ok = false; *ok = false;
break; break;