aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKurt Pattyn <pattyn.kurt@gmail.com>2013-11-03 20:07:20 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-03 20:08:13 +0100
commit4779f692379430a925dbabc63a0ae8622c7e07d9 (patch)
tree45a1f18733ffc1a738647ddf80595d7bd5c32a25 /tests
parentf03060c27def133217d6fd292267d98e2d948449 (diff)
Remove memory access error
Change-Id: I72d689c08b89be72e6bcb8171aa40812f3c77250 Reviewed-by: Kurt Pattyn <pattyn.kurt@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/websocketprotocol/tst_websocketprotocol.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/tests/auto/websocketprotocol/tst_websocketprotocol.cpp b/tests/auto/websocketprotocol/tst_websocketprotocol.cpp
index ab39aa6..f088166 100644
--- a/tests/auto/websocketprotocol/tst_websocketprotocol.cpp
+++ b/tests/auto/websocketprotocol/tst_websocketprotocol.cpp
@@ -101,10 +101,7 @@ void tst_WebSocketProtocol::tst_validMasks_data()
QTest::addColumn<QString>("inputdata");
QTest::addColumn<QByteArray>("result");
- QTest::newRow("Empty payload") << qToBigEndian<quint32>(0x12345678u) << QString("") << QByteArray("");
-// QTest::newRow("ASCII payload of 8 characters") << qToBigEndian<quint32>(0x12345678u) << QString("abcdefgh") << QByteArray("\x19\x34\x57\x76\x1D\x30\x53\x7A");
-// QTest::newRow("ASCII payload of 9 characters") << qToBigEndian<quint32>(0x12345678u) << QString("abcdefghi") << QByteArray("\x19\x34\x57\x76\x1D\x30\x53\x7A\x11");
-// QTest::newRow("UTF-8 payload") << qToBigEndian<quint32>(0x12345678u) << QString("∫∂ƒ©øØ") << QByteArray("\x47\x69\x0B\xBB\x80\x8E");
+ QTest::newRow("Empty payload") << 0x12345678u << QString("") << QByteArray("");
QTest::newRow("ASCII payload of 8 characters") << 0x12345678u << QString("abcdefgh") << QByteArray("\x73\x56\x35\x1C\x77\x52\x31\x10");
QTest::newRow("ASCII payload of 9 characters") << 0x12345678u << QString("abcdefghi") << QByteArray("\x73\x56\x35\x1C\x77\x52\x31\x10\x7B");
QTest::newRow("UTF-8 payload") << 0x12345678u << QString("∫∂ƒ©øØ") << QByteArray("\x2D\x0B\x69\xD1\xEA\xEC");
@@ -116,7 +113,14 @@ void tst_WebSocketProtocol::tst_validMasks()
QFETCH(QString, inputdata);
QFETCH(QByteArray, result);
- char *data = inputdata.toLatin1().data();
+ //put latin1 into an explicit array
+ //otherwise, the intermediate object is deleted and the data pointer becomes invalid
+ QByteArray latin1 = inputdata.toLatin1();
+ char *data = latin1.data();
+ //char *data = inputdata.toLatin1().data();
+
+ qDebug() << hex << mask;
+ qDebug() << QByteArray(data, inputdata.size()).toHex();
QWebSocketProtocol::mask(data, inputdata.size(), mask);
QCOMPARE(QByteArray::fromRawData(data, inputdata.size()), result);