summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2019-11-26 07:27:14 -0800
committerThiago Macieira <thiago.macieira@intel.com>2019-12-10 20:24:14 -0800
commit6bef90f3cfb886d74ac9ed38efeb8d80b7181011 (patch)
tree1c2fbecdd736541a09fb0fbf8a952675f5df39aa
parent6ffedc07a77a8e3d46851b74cf9456d5abf6f612 (diff)
QTest::toString(QBitArray): fix Mismatched free() / delete / delete []
==8015== Mismatched free() / delete / delete [] ==8015== at 0x483958B: operator delete[](void*) (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==8015== by 0x48752D6: QTestResult::compare(bool, char const*, char*, char*, char const*, char const*, char const*, int) (qtestresult.cpp:356) ==8015== Address 0x602eb30 is 0 bytes inside a block of size 12 alloc'd ==8015== at 0x483777F: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==8015== by 0x44AAE2: char* QTest::toString<QBitArray>(QBitArray const&) (qtest.h:98) ==8015== by 0x44D212: bool QTest::qCompare<QBitArray>(QBitArray const&, QBitArray const&, char const*, char const*, char const*, int) (qtestcase.h:352) Change-Id: Ia2aa807ffa8a4c798425fffd15dabfebfd63fdbd Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
-rw-r--r--src/testlib/qtest.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/testlib/qtest.h b/src/testlib/qtest.h
index 27fe08e8f4..3b1ffb389e 100644
--- a/src/testlib/qtest.h
+++ b/src/testlib/qtest.h
@@ -95,7 +95,7 @@ template<> inline char *toString(const QByteArray &ba)
template<> inline char *toString(const QBitArray &ba)
{
qsizetype size = ba.size();
- char *str = static_cast<char *>(malloc(size + 1));
+ char *str = new char[size + 1];
for (qsizetype i = 0; i < size; ++i)
str[i] = "01"[ba.testBit(i)];
str[size] = '\0';