diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2020-01-23 14:19:48 +0100 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@qt.io> | 2020-01-23 13:39:15 +0000 |
| commit | 4c5ed04e64ea9ac0038ae30e1189cfe745b29bd9 (patch) | |
| tree | 5078d2b9d414cab1e2945f545881c62cc3bd4fb6 /src/qml/jsruntime/qv4reflect.cpp | |
| parent | 34f8582c100320ffc7846760aeab225db8fcddf7 (diff) | |
V4: Check for exceptions before we use the result of a JS call
If the call resulted in an exception the return value is undefined.
Task-number: QTBUG-81581
Change-Id: Ibfdd5e1229cf5437f270232d3b1a91308adeec72
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4reflect.cpp')
| -rw-r--r-- | src/qml/jsruntime/qv4reflect.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4reflect.cpp b/src/qml/jsruntime/qv4reflect.cpp index 0772770d63..2a6c61f044 100644 --- a/src/qml/jsruntime/qv4reflect.cpp +++ b/src/qml/jsruntime/qv4reflect.cpp @@ -98,7 +98,8 @@ ReturnedValue Reflect::method_apply(const FunctionObject *f, const Value *, cons if (scope.hasException()) return Encode::undefined(); - return static_cast<const FunctionObject &>(argv[0]).call(&argv[1], arguments.argv, arguments.argc); + return checkedResult(scope.engine, static_cast<const FunctionObject &>(argv[0]).call( + &argv[1], arguments.argv, arguments.argc)); } ReturnedValue Reflect::method_construct(const FunctionObject *f, const Value *, const Value *argv, int argc) |
