From 57e5407178ce05f577bd032a7bab2508434a4b02 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Mon, 27 Oct 2014 08:54:26 +0100 Subject: Don't check the this pointer for 0 in member functions This actually violates the C++ standard that defines that you aren't allowed to call member functions on an invalid object. Instead insert the 0 pointer checks on the caller side where required. Change-Id: I8be3c3831594bb6482e9ef6de6e590ec437ac0f8 Reviewed-by: Simon Hausmann --- src/qml/jsruntime/qv4functionobject.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/qml/jsruntime/qv4functionobject.cpp') diff --git a/src/qml/jsruntime/qv4functionobject.cpp b/src/qml/jsruntime/qv4functionobject.cpp index 67f2a0c75c..f3ad8ef892 100644 --- a/src/qml/jsruntime/qv4functionobject.cpp +++ b/src/qml/jsruntime/qv4functionobject.cpp @@ -298,7 +298,9 @@ ReturnedValue FunctionPrototype::method_apply(CallContext *ctx) for (quint32 i = 0; i < len; ++i) callData->args[i] = arr->getIndexed(i); } else { - uint alen = qMin(len, arr->arrayData()->length()); + uint alen = arr->arrayData() ? arr->arrayData()->length() : 0; + if (alen > len) + alen = len; for (uint i = 0; i < alen; ++i) callData->args[i] = static_cast(arr->arrayData())->data(i); for (quint32 i = alen; i < len; ++i) -- cgit v1.2.3