From 8d2bcb04f9277f409650197fd7b0f3a423bdc901 Mon Sep 17 00:00:00 2001 From: peijiankang Date: Mon, 17 Jul 2023 11:38:50 +0800 Subject: [PATCH] fix coredump of kylin-nm --- .../kylinactiveconnectresource.cpp | 26 ++++++++++--------- .../dbus-interface/kywirelessnetresource.cpp | 5 +++- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/backend/dbus-interface/kylinactiveconnectresource.cpp b/src/backend/dbus-interface/kylinactiveconnectresource.cpp index e56de5a..b5f1bfb 100644 --- a/src/backend/dbus-interface/kylinactiveconnectresource.cpp +++ b/src/backend/dbus-interface/kylinactiveconnectresource.cpp @@ -173,19 +173,21 @@ void KyActiveConnectResourse::getActiveConnectionList(QString deviceName, QString ifaceUni = interfaces.at(index); NetworkManager::Device:: Ptr devicePtr = m_networkResourceInstance->findDeviceUni(ifaceUni); - if (devicePtr->interfaceName() == deviceName) { - KyConnectItem *activeConnectItem = - getActiveConnectionItem(activeConnectPtr); - if (nullptr != activeConnectItem) { - activeConnectItem->m_ifaceName = deviceName; - activeConnectItem->m_itemType = connectionType; - activeConnectItemList << activeConnectItem; - //activeConnectItem->dumpInfo(); + if(devicePtr){ + if (devicePtr->interfaceName() == deviceName) { + KyConnectItem *activeConnectItem = + getActiveConnectionItem(activeConnectPtr); + if (nullptr != activeConnectItem) { + activeConnectItem->m_ifaceName = deviceName; + activeConnectItem->m_itemType = connectionType; + activeConnectItemList << activeConnectItem; + //activeConnectItem->dumpInfo(); + } + + activeConnectPtr = nullptr; + break; } - - activeConnectPtr = nullptr; - break; - } + } } } diff --git a/src/backend/dbus-interface/kywirelessnetresource.cpp b/src/backend/dbus-interface/kywirelessnetresource.cpp index 386f863..583d2a4 100644 --- a/src/backend/dbus-interface/kywirelessnetresource.cpp +++ b/src/backend/dbus-interface/kywirelessnetresource.cpp @@ -307,7 +307,10 @@ void KyWirelessNetResource::getDeviceByUuid(const QString uuid, QString &deviceN QString ifaceUni = interfaces.at(0); NetworkManager::Device:: Ptr devicePtr = m_networkResourceInstance->findDeviceUni(ifaceUni); - deviceName = devicePtr->interfaceName(); + if(devicePtr) + deviceName = devicePtr->interfaceName(); + else + qDebug() << LOG_FLAG << "get device of active is NULL"; return; } else { qDebug() << LOG_FLAG << "get device of active connection failed."; -- 2.33.0