kylin-nm/0002-fix-coredump-of-kylin-nm.patch
peijiankang 943922cfc4 add 0002-fix-coredump-of-kylin-nm.patch
(cherry picked from commit 23e73f2ec14f4a736be1359399a76ce7201a4f9f)
2023-07-27 11:16:00 +08:00

68 lines
3.0 KiB
Diff

From 8d2bcb04f9277f409650197fd7b0f3a423bdc901 Mon Sep 17 00:00:00 2001
From: peijiankang <peijiankang@kylinos.cn>
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