diff options
author | Lars Knoll <lars.knoll@qt.io> | 2017-01-25 12:16:54 +0100 |
---|---|---|
committer | Lars Knoll <lars.knoll@qt.io> | 2017-01-25 14:16:35 +0000 |
commit | 7adf9caa6fd7886e2eead6e8fdc20dea2152a30b (patch) | |
tree | e5bd230abe2efc60d11c3a8092f964b0a69d62db /src/qml/jsruntime/qv4memberdata.cpp | |
parent | 5ef3265cd46de6579399562429e26961d6f13885 (diff) |
Ensure that we never create empty MemberData objects
They don't make sense.
Also fixes a crash in test262, where we would pass n == 0 to
MemberData::allocate().
Change-Id: Ia95ab6632bd1998afe84a38c38c3c6603230362d
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/qml/jsruntime/qv4memberdata.cpp')
-rw-r--r-- | src/qml/jsruntime/qv4memberdata.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/qml/jsruntime/qv4memberdata.cpp b/src/qml/jsruntime/qv4memberdata.cpp index f2a24f8179..db45c77472 100644 --- a/src/qml/jsruntime/qv4memberdata.cpp +++ b/src/qml/jsruntime/qv4memberdata.cpp @@ -55,6 +55,7 @@ void MemberData::markObjects(Heap::Base *that, ExecutionEngine *e) Heap::MemberData *MemberData::allocate(ExecutionEngine *e, uint n, Heap::MemberData *old) { Q_ASSERT(!old || old->size < n); + Q_ASSERT(n); size_t alloc = MemoryManager::align(sizeof(Heap::MemberData) + (n - 1)*sizeof(Value)); Heap::MemberData *m = e->memoryManager->allocManaged<MemberData>(alloc); |