From a4b3fc4121fba63307edfd2bce78a4994fbe7ef0 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Mon, 18 Jul 2022 09:28:20 +0200 Subject: [PATCH] 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. Change-Id: Ia9db7acbfa47e601b466d6cc6a728859065c27b5 Reviewed-by: Edward Welbourne Reviewed-by: Sona Kurazyan (cherry picked from commit 011b68d3cd95295890b1ed724aa4331ff5680eed) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/text/qbytedata_p.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/corelib/text/qbytedata_p.h b/src/corelib/text/qbytedata_p.h index 946f9155ffd..46eee13ccd4 100644 --- a/src/corelib/text/qbytedata_p.h +++ b/src/corelib/text/qbytedata_p.h @@ -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();