已合并
add nullptr check #5560
add nullptr check #5560
已合并
tri99er创建于 27 天前
1 个文件变更+39-12
@@ -99,6 +99,10 @@ RptModeCallback& WifiTogglerManager::GetRptCallback()
99 99 
100ErrCode WifiTogglerManager::WifiToggled(int isOpen, int id)100ErrCode WifiTogglerManager::WifiToggled(int isOpen, int id)
101{101{
102+ if (pWifiControllerMachine == nullptr) {
103+ WIFI_LOGE("pWifiControllerMachine is null!");
104+ return WIFI_OPT_FAILED;
105+ }
102 pWifiControllerMachine->ClearWifiStartFailCount();106 pWifiControllerMachine->ClearWifiStartFailCount();
103 WIFI_LOGI("WifiTogglerManager::WifiToggled, isOpen %{public}d instId: %{public}d", isOpen, id);107 WIFI_LOGI("WifiTogglerManager::WifiToggled, isOpen %{public}d instId: %{public}d", isOpen, id);
104#ifdef FEATURE_SELF_CURE_SUPPORT108#ifdef FEATURE_SELF_CURE_SUPPORT
@@ -118,8 +122,10 @@ void WifiTogglerManager::StartWifiToggledTimer()
118 WIFI_LOGD("StartWifiToggledTimer");122 WIFI_LOGD("StartWifiToggledTimer");
119 WifiOprMidState midState = WifiConfigCenter::GetInstance().GetWifiMidState(INSTID_WLAN0);123 WifiOprMidState midState = WifiConfigCenter::GetInstance().GetWifiMidState(INSTID_WLAN0);
120 if (midState != WifiOprMidState::RUNNING && midState != WifiOprMidState::OPENING) {124 if (midState != WifiOprMidState::RUNNING && midState != WifiOprMidState::OPENING) {
121- pWifiControllerMachine->StopTimer(CMD_WIFI_TOGGLED_TIMEOUT);125+ if (pWifiControllerMachine) {
122- pWifiControllerMachine->MessageExecutedLater(CMD_WIFI_TOGGLED_TIMEOUT, WIFI_OPEN_TIMEOUT);126+ pWifiControllerMachine->StopTimer(CMD_WIFI_TOGGLED_TIMEOUT);
127+ pWifiControllerMachine->MessageExecutedLater(CMD_WIFI_TOGGLED_TIMEOUT, WIFI_OPEN_TIMEOUT);
128+ }
123 } else {129 } else {
124 WIFI_LOGW("start wifi when wifi is already opening or opened");130 WIFI_LOGW("start wifi when wifi is already opening or opened");
125 }131 }
@@ -128,7 +134,9 @@ void WifiTogglerManager::StartWifiToggledTimer()
128void WifiTogglerManager::StopWifiToggledTimer()134void WifiTogglerManager::StopWifiToggledTimer()
129{135{
130 WIFI_LOGD("StopWifiToggledTimer");136 WIFI_LOGD("StopWifiToggledTimer");
131- pWifiControllerMachine->StopTimer(CMD_WIFI_TOGGLED_TIMEOUT);137+ if (pWifiControllerMachine) {
138+ pWifiControllerMachine->StopTimer(CMD_WIFI_TOGGLED_TIMEOUT);
139+ }
132}140}
133 141 
134void WifiTogglerManager::OnWifiToggledTimeOut()142void WifiTogglerManager::OnWifiToggledTimeOut()
@@ -141,14 +149,18 @@ void WifiTogglerManager::OnWifiToggledTimeOut()
141void WifiTogglerManager::StartSemiWifiToggledTimer()149void WifiTogglerManager::StartSemiWifiToggledTimer()
142{150{
143 WIFI_LOGD("StartSemiWifiToggledTimer");151 WIFI_LOGD("StartSemiWifiToggledTimer");
144- pWifiControllerMachine->StopTimer(CMD_SEMI_WIFI_TOGGLED_TIMEOUT);152+ if (pWifiControllerMachine) {
145- pWifiControllerMachine->MessageExecutedLater(CMD_SEMI_WIFI_TOGGLED_TIMEOUT, WIFI_OPEN_TIMEOUT);153+ pWifiControllerMachine->StopTimer(CMD_SEMI_WIFI_TOGGLED_TIMEOUT);
154+ pWifiControllerMachine->MessageExecutedLater(CMD_SEMI_WIFI_TOGGLED_TIMEOUT, WIFI_OPEN_TIMEOUT);
155+ }
146}156}
147 157 
148void WifiTogglerManager::StopSemiWifiToggledTimer()158void WifiTogglerManager::StopSemiWifiToggledTimer()
149{159{
150 WIFI_LOGD("StopSemiWifiToggledTimer");160 WIFI_LOGD("StopSemiWifiToggledTimer");
151- pWifiControllerMachine->StopTimer(CMD_SEMI_WIFI_TOGGLED_TIMEOUT);161+ if (pWifiControllerMachine) {
162+ pWifiControllerMachine->StopTimer(CMD_SEMI_WIFI_TOGGLED_TIMEOUT);
163+ }
152}164}
153 165 
154void WifiTogglerManager::OnSemiWifiToggledTimeOut()166void WifiTogglerManager::OnSemiWifiToggledTimeOut()
@@ -160,6 +172,10 @@ void WifiTogglerManager::OnSemiWifiToggledTimeOut()
160 172 
161ErrCode WifiTogglerManager::SoftapToggled(int isOpen, int id)173ErrCode WifiTogglerManager::SoftapToggled(int isOpen, int id)
162{174{
175+ if (!pWifiControllerMachine) {
176+ WIFI_LOGE("pWifiControllerMachine is null!");
177+ return WIFI_OPT_FAILED;
178+ }
163 if (isOpen) {179 if (isOpen) {
164 WIFI_LOGI("set softap toggled true");180 WIFI_LOGI("set softap toggled true");
165 WifiConfigCenter::GetInstance().SetSoftapToggledState(true);181 WifiConfigCenter::GetInstance().SetSoftapToggledState(true);
@@ -175,8 +191,11 @@ ErrCode WifiTogglerManager::SoftapToggled(int isOpen, int id)
175#ifdef FEATURE_WITH_GO_SIMULATION_AP191#ifdef FEATURE_WITH_GO_SIMULATION_AP
176ErrCode WifiTogglerManager::RptToggled(int isOpen, int id)192ErrCode WifiTogglerManager::RptToggled(int isOpen, int id)
177{193{
178- pWifiControllerMachine->SendMessage(CMD_RPT_TOGGLED, isOpen, id);194+ if (pWifiControllerMachine) {
179- return WIFI_OPT_SUCCESS;195+ pWifiControllerMachine->SendMessage(CMD_RPT_TOGGLED, isOpen, id);
196+ return WIFI_OPT_SUCCESS;
197+ }
198+ return WIFI_OPT_FAILED;
180}199}
181#endif200#endif
182 201 
@@ -192,12 +211,20 @@ ErrCode WifiTogglerManager::ScanOnlyToggled(int isOpen)
192 WIFI_LOGE("Softap(wlan0) mode do not start scanonly.");211 WIFI_LOGE("Softap(wlan0) mode do not start scanonly.");
193 return WIFI_OPT_FAILED;212 return WIFI_OPT_FAILED;
194 }213 }
214+ if (!pWifiControllerMachine) {
215+ WIFI_LOGE("pWifiControllerMachine is null!");
216+ return WIFI_OPT_FAILED;
217+ }
195 pWifiControllerMachine->SendMessage(CMD_SCAN_ALWAYS_MODE_CHANGED, isOpen, 0);218 pWifiControllerMachine->SendMessage(CMD_SCAN_ALWAYS_MODE_CHANGED, isOpen, 0);
196 return WIFI_OPT_SUCCESS;219 return WIFI_OPT_SUCCESS;
197}220}
198 221 
199ErrCode WifiTogglerManager::AirplaneToggled(int isOpen)222ErrCode WifiTogglerManager::AirplaneToggled(int isOpen)
200{223{
224+ if (!pWifiControllerMachine) {
225+ WIFI_LOGE("pWifiControllerMachine is null!");
226+ return WIFI_OPT_FAILED;
227+ }
201#ifdef FEATURE_SELF_CURE_SUPPORT228#ifdef FEATURE_SELF_CURE_SUPPORT
202 if (isOpen) {229 if (isOpen) {
203 for (int i = 0; i < STA_INSTANCE_MAX_NUM; ++i) {230 for (int i = 0; i < STA_INSTANCE_MAX_NUM; ++i) {
@@ -208,9 +235,7 @@ ErrCode WifiTogglerManager::AirplaneToggled(int isOpen)
208 }235 }
209 }236 }
210#endif // FEATURE_SELF_CURE_SUPPORT237#endif // FEATURE_SELF_CURE_SUPPORT
211- if (pWifiControllerMachine) {238+ pWifiControllerMachine->SendMessage(CMD_AIRPLANE_TOGGLED, isOpen);
212- pWifiControllerMachine->SendMessage(CMD_AIRPLANE_TOGGLED, isOpen);
213- }
214 return WIFI_OPT_SUCCESS;239 return WIFI_OPT_SUCCESS;
215}240}
216 241 
@@ -381,7 +406,9 @@ void WifiTogglerManager::CheckSatelliteState()
381 }406 }
382 }407 }
383 if (isUp) {408 if (isUp) {
384- pWifiControllerMachine->ShutdownWifi();409+ if (pWifiControllerMachine) {
410+ pWifiControllerMachine->ShutdownWifi();
411+ }
385 }412 }
386}413}
387 414