From b9d855d8cf994e01d1e2005d7fe5e75c7b65a79f Mon Sep 17 00:00:00 2001 From: kh Date: Fri, 10 Apr 2015 11:14:10 +0200 Subject: Fix possible null pointer access. Change-Id: I2cb1c8b70d41c764e0f9e47637b951c480ebcb5c Reviewed-by: Jarek Kobus --- src/libs/installer/componentchecker.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/libs/installer') diff --git a/src/libs/installer/componentchecker.cpp b/src/libs/installer/componentchecker.cpp index 949ae00cf..ee13664ee 100644 --- a/src/libs/installer/componentchecker.cpp +++ b/src/libs/installer/componentchecker.cpp @@ -42,8 +42,13 @@ namespace QInstaller { QStringList ComponentChecker::checkComponent(Component *component) { - PackageManagerCore *core = component->packageManagerCore(); QStringList checkResult; + if (!component) + return checkResult; + + PackageManagerCore *core = component->packageManagerCore(); + if (!core) + return checkResult; const bool defaultPropertyScriptValue = component->variables().value(scDefault).compare(scScript, Qt::CaseInsensitive) == 0; const bool defaultPropertyValue = component->variables().value(scDefault).compare(scTrue, Qt::CaseInsensitive) == 0; @@ -74,7 +79,7 @@ QStringList ComponentChecker::checkComponent(Component *component) foreach (const QString &dependency, dependencies) { Component *dependencyComponent = PackageManagerCore::componentByName( dependency, allComponents); - if (autoDependencies.contains(dependencyComponent->name())) { + if (dependencyComponent && autoDependencies.contains(dependencyComponent->name())) { checkResult << QString::fromLatin1("Component %1 specifies both dependency " "and auto dependency on component %2. The dependency might be superfluous.") .arg(component->name(), dependencyComponent->name()); -- cgit v1.2.3