diff options
author | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-05-04 10:35:37 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@qt.io> | 2017-05-04 09:12:34 +0000 |
commit | 365d43a22050a4ea69e36b8d1033bf6ab3189264 (patch) | |
tree | 8212b8ebac052c7b19bff8e7923090d45c6b0655 /tests/benchmarks/qml/js | |
parent | a69edf01cb0a2a06282dc7b89724ffa542f6546d (diff) |
Fix a QJSValue benchmark
The benchmark added the tst_QJSValue instance driving the benchmark to
the engine, which then takes over ownership. This would result in a
use-after-free, leading to a crash.
Change-Id: I524445487a1dabb3fb3fbbfb7fca084f7736c124
Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
Diffstat (limited to 'tests/benchmarks/qml/js')
-rw-r--r-- | tests/benchmarks/qml/js/js.pro | 2 | ||||
-rw-r--r-- | tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/tests/benchmarks/qml/js/js.pro b/tests/benchmarks/qml/js/js.pro index 7711e7130d..b1448d8eb8 100644 --- a/tests/benchmarks/qml/js/js.pro +++ b/tests/benchmarks/qml/js/js.pro @@ -1,7 +1,7 @@ TEMPLATE = subdirs SUBDIRS = \ qjsengine \ -# qjsvalue \ ### FIXME: doesn't build + qjsvalue \ qjsvalueiterator \ TRUSTED_BENCHMARKS += \ diff --git a/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp b/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp index 5cb0f2f44b..7488d613e5 100644 --- a/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp +++ b/tests/benchmarks/qml/js/qjsvalue/tst_qjsvalue.cpp @@ -943,7 +943,7 @@ void tst_QJSValue::defineStandardTestValues() QTest::newRow("regexp") << m_engine->evaluate("new RegExp('foo')"); QTest::newRow("error") << m_engine->evaluate("new Error"); - QTest::newRow("qobject") << m_engine->newQObject(this); + QTest::newRow("qobject") << m_engine->newQObject(new QObject); #if 0 // no qmetaobject QTest::newRow("qmetaobject") << m_engine->newQMetaObject(&QJSEngine::staticMetaObject); #endif |