diff options
author | Albert Astals Cid <albert.astals@canonical.com> | 2016-08-16 11:42:42 +0200 |
---|---|---|
committer | Albert Astals Cid <albert.astals@canonical.com> | 2016-08-23 14:46:06 +0000 |
commit | 3fa18bf8816ccbbdf43eed2759c9a223cec039e8 (patch) | |
tree | c391e24bfffa4e44a7dc25d84f8f020c55a4d894 /src/plugins/bearer | |
parent | 881bda9e6ecdd8729edf7df68f94f72f5d7c9042 (diff) |
Make sure connection is not null before using it
connectionFromId can return null if the id isn't found.
This causes crashes like http://paste.ubuntu.com/23061009/
Change-Id: Ib72412f61dc7661455394679b3e90662de505920
Reviewed-by: Lorn Potter <lorn.potter@canonical.com>
Diffstat (limited to 'src/plugins/bearer')
-rw-r--r-- | src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp index 42037ffb9a..13b64a556c 100644 --- a/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp +++ b/src/plugins/bearer/networkmanager/qnetworkmanagerengine.cpp @@ -218,6 +218,10 @@ void QNetworkManagerEngine::disconnectFromId(const QString &id) QMutexLocker locker(&mutex); QNetworkManagerSettingsConnection *connection = connectionFromId(id); + + if (!connection) + return; + QNmSettingsMap map = connection->getSettings(); bool connectionAutoconnect = map.value("connection").value("autoconnect",true).toBool(); //if not present is true !! if (connectionAutoconnect) { //autoconnect connections will simply be reconnected by nm @@ -563,7 +567,7 @@ bool QNetworkManagerEngine::isConnectionActive(const QString &settingsPath) } QNetworkManagerSettingsConnection *settingsConnection = connectionFromId(settingsPath); - if (settingsConnection->getType() == DEVICE_TYPE_MODEM) { + if (settingsConnection && settingsConnection->getType() == DEVICE_TYPE_MODEM) { return isActiveContext(settingsConnection->path()); } |