aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/qml/qjsengine
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml/qjsengine')
-rw-r--r--tests/auto/qml/qjsengine/tst_qjsengine.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/auto/qml/qjsengine/tst_qjsengine.cpp b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
index 22ae9d375c..4414592a6a 100644
--- a/tests/auto/qml/qjsengine/tst_qjsengine.cpp
+++ b/tests/auto/qml/qjsengine/tst_qjsengine.cpp
@@ -262,6 +262,7 @@ private slots:
void arrayIncludesWithLargeArray();
void printCircularArray();
void typedArraySet();
+ void dataViewCtor();
void uiLanguage();
@@ -5106,6 +5107,21 @@ void tst_QJSEngine::typedArraySet()
}
}
+void tst_QJSEngine::dataViewCtor()
+{
+ QJSEngine engine;
+ const auto error = engine.evaluate(R"(
+ (function() { try {
+ var buf = new ArrayBuffer(0x200);
+ var vuln = new DataView(buf, 8, 0xfffffff8);
+ } catch (e) {
+ return e;
+ }})()
+ )");
+ QVERIFY(error.isError());
+ QCOMPARE(error.toString(), "RangeError: DataView: constructor arguments out of range");
+}
+
void tst_QJSEngine::uiLanguage()
{
{