From 2e724095c146b9f8bfe5f4594a6250b3cfb2bf11 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Mon, 21 Nov 2011 09:32:32 +0100 Subject: QmlJS: Fix crash when reading malformed qmltypes files. Task-number: QTCREATORBUG-6587 Change-Id: I0b7c65c1d7f613283e447293daf26673e88ba6e7 Reviewed-by: Eike Ziller --- src/libs/qmljs/qmljstypedescriptionreader.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libs/qmljs/qmljstypedescriptionreader.cpp b/src/libs/qmljs/qmljstypedescriptionreader.cpp index 1f70fe20a7..b39dc72c67 100644 --- a/src/libs/qmljs/qmljstypedescriptionreader.cpp +++ b/src/libs/qmljs/qmljstypedescriptionreader.cpp @@ -145,7 +145,11 @@ void TypeDescriptionReader::readModule(UiObjectDefinition *ast) for (UiObjectMemberList *it = ast->initializer->members; it; it = it->next) { UiObjectMember *member = it->member; UiObjectDefinition *component = dynamic_cast(member); - const QString typeName = Bind::toString(component->qualifiedTypeNameId); + + QString typeName; + if (component) + typeName = Bind::toString(component->qualifiedTypeNameId); + if (!component || (typeName != "Component" && typeName != "ModuleApi")) { addWarning(member->firstSourceLocation(), "Expected only 'Component' and 'ModuleApi' object definitions"); continue; -- cgit v1.2.1