QByteDataBuffer: assert an undocumented precondition

The alternative would be to return a null QByteArray, but the current
implementation makes calling read() on an empty QByteDataBuffer UB, so
this is behavior-preserving, just with a bit nicer error message.

Pick-to: 6.4 6.3 6.2
Change-Id: Ia9db7acbfa47e601b466d6cc6a728859065c27b5
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
This commit is contained in:
Marc Mutz 2022-07-18 09:28:20 +02:00
parent 046a5a8f4f
commit 011b68d3cd

View File

@ -105,6 +105,7 @@ public:
// preferably use this function to read data.
inline QByteArray read()
{
Q_ASSERT(!isEmpty());
squeezeFirst();
bufferCompleteSize -= buffers.first().size();
return buffers.takeFirst();