diff options
author | Christian Kamm <christian.d.kamm@nokia.com> | 2011-11-21 09:32:32 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@nokia.com> | 2011-11-21 11:11:37 +0100 |
commit | 2e724095c146b9f8bfe5f4594a6250b3cfb2bf11 (patch) | |
tree | 8fe70070e5de2645689e3867f6deba43ab35b134 | |
parent | 589559800506e3ca515955a96ebaec96ff1c2eaa (diff) | |
download | qt-creator-2e724095c146b9f8bfe5f4594a6250b3cfb2bf11.tar.gz |
QmlJS: Fix crash when reading malformed qmltypes files.
Task-number: QTCREATORBUG-6587
Change-Id: I0b7c65c1d7f613283e447293daf26673e88ba6e7
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
-rw-r--r-- | src/libs/qmljs/qmljstypedescriptionreader.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
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<UiObjectDefinition *>(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; |