QBitArray: defend resize() and fromBits() against negative sizes
Use the same technique the constructor already uses: Q_ASSERT followed by selecting the no-op branch in case assertions are compiled out. Change-Id: I24cbcfd686f67e060134baecfb21044948b6eb98 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit a327117c0d851dac4eea860e7d86ef3f80a0ffce) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
03e184e48c
commit
da0620727f
@ -203,7 +203,8 @@ qsizetype QBitArray::count(bool on) const
|
||||
*/
|
||||
void QBitArray::resize(qsizetype size)
|
||||
{
|
||||
if (!size) {
|
||||
Q_ASSERT_X(size >= 0, "QBitArray::resize", "Size must be greater than or equal to 0.");
|
||||
if (size <= 0) {
|
||||
d.resize(0);
|
||||
} else {
|
||||
d.resize(allocation_size(size), 0x00);
|
||||
@ -303,8 +304,9 @@ void QBitArray::fill(bool value, qsizetype begin, qsizetype end)
|
||||
*/
|
||||
QBitArray QBitArray::fromBits(const char *data, qsizetype size)
|
||||
{
|
||||
Q_ASSERT_X(size >= 0, "QBitArray::fromBits", "Size must be greater than or equal to 0.");
|
||||
QBitArray result;
|
||||
if (size == 0)
|
||||
if (size <= 0)
|
||||
return result;
|
||||
|
||||
auto &d = result.d;
|
||||
|
Loading…
x
Reference in New Issue
Block a user