Details
-
Bug
-
Resolution: Incomplete
-
P4: Low
-
4.5.1
-
None
Description
The stream can (and does) return LESS than the maximum amount of data requested: the code is written to get exactly what it expects, which is not what the documentation for QDataStream::readRawData says.
QUrl uses QByteArray and doesn't check to see if it got a valid result. It looks like the code was coded towards the idea of looping to read blocks of data, but instead, at the most, will ever loop once and either succeed or fail.
Result is corrupted/missing data.