summaryrefslogtreecommitdiffstats
path: root/installerbuilder
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@nokia.com>2011-08-22 15:05:07 +0200
committerKarsten Heimrich <karsten.heimrich@nokia.com>2011-08-22 15:17:25 +0200
commit881c60cafe34ad63bd2fb93d88f0e51801188294 (patch)
tree4bbb975b70a33e21d0e37e0072f78ee74a11e00a /installerbuilder
parenta3e05e5aef8e2ffa321937be359b5118058c2da1 (diff)
Avoid NULL pointer access in case we have no data file.
Change-Id: I1954422b4f5b4af25cc8d7ccd2f0dc7bcfba1f15 Reviewed-on: http://codereview.qt.nokia.com/3320 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com> Reviewed-by: Niels Weber <niels.2.weber@nokia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@nokia.com>
Diffstat (limited to 'installerbuilder')
-rw-r--r--installerbuilder/libinstaller/packagemanagercore.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/installerbuilder/libinstaller/packagemanagercore.cpp b/installerbuilder/libinstaller/packagemanagercore.cpp
index 7da2b44bd..dd04beec8 100644
--- a/installerbuilder/libinstaller/packagemanagercore.cpp
+++ b/installerbuilder/libinstaller/packagemanagercore.cpp
@@ -289,7 +289,8 @@ void PackageManagerCore::setCompleteUninstallation(bool complete)
void PackageManagerCore::cancelMetaInfoJob()
{
- d->m_repoMetaInfoJob->cancel();
+ if (d->m_repoMetaInfoJob)
+ d->m_repoMetaInfoJob->cancel();
}
void PackageManagerCore::autoAcceptMessageBoxes()
@@ -1264,8 +1265,8 @@ void PackageManagerCore::interrupt()
void PackageManagerCore::setCanceled()
{
+ cancelMetaInfoJob();
d->setStatus(PackageManagerCore::Canceled);
- d->m_repoMetaInfoJob->cancel();
}
/*!
@@ -1481,7 +1482,8 @@ bool PackageManagerCore::updateComponentData(struct Data &data, Component *compo
verbose() << "Url is : " << localPath << std::endl;
lastLocalPath = localPath;
}
- component->setRepositoryUrl(d->m_repoMetaInfoJob->repositoryForTemporaryDirectory(localPath).url());
+ if (d->m_repoMetaInfoJob)
+ component->setRepositoryUrl(d->m_repoMetaInfoJob->repositoryForTemporaryDirectory(localPath).url());
} catch (...) {
return false;
}