已合并
add nullptr check #5560
tri99er创建于 27 天前
add nullptr check #5560
已合并
共 1 个文件变更+39-12
Mwifi/services/wifi_standard/wifi_framework/wifi_manage/wifi_sub_manage/wifi_toggler_manager.cpp+39-12
| @@ -99,6 +99,10 @@ RptModeCallback& WifiTogglerManager::GetRptCallback() | |||
| 99 | 99 | ||
| 100 | ErrCode WifiTogglerManager::WifiToggled(int isOpen, int id) | 100 | ErrCode 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 | 108 | ||
| @@ -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() | |||
| 128 | void WifiTogglerManager::StopWifiToggledTimer() | 134 | void 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 | ||
| 134 | void WifiTogglerManager::OnWifiToggledTimeOut() | 142 | void WifiTogglerManager::OnWifiToggledTimeOut() |
| @@ -141,14 +149,18 @@ void WifiTogglerManager::OnWifiToggledTimeOut() | |||
| 141 | void WifiTogglerManager::StartSemiWifiToggledTimer() | 149 | void 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 | ||
| 148 | void WifiTogglerManager::StopSemiWifiToggledTimer() | 158 | void 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 | ||
| 154 | void WifiTogglerManager::OnSemiWifiToggledTimeOut() | 166 | void WifiTogglerManager::OnSemiWifiToggledTimeOut() |
| @@ -160,6 +172,10 @@ void WifiTogglerManager::OnSemiWifiToggledTimeOut() | |||
| 160 | 172 | ||
| 161 | ErrCode WifiTogglerManager::SoftapToggled(int isOpen, int id) | 173 | ErrCode 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 | 191 | ||
| 176 | ErrCode WifiTogglerManager::RptToggled(int isOpen, int id) | 192 | ErrCode 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 | 200 | ||
| 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 | ||
| 199 | ErrCode WifiTogglerManager::AirplaneToggled(int isOpen) | 222 | ErrCode WifiTogglerManager::AirplaneToggled(int isOpen) |
| 200 | { | 223 | { |
| 224 | + if (!pWifiControllerMachine) { | ||
| 225 | + WIFI_LOGE("pWifiControllerMachine is null!"); | ||
| 226 | + return WIFI_OPT_FAILED; | ||
| 227 | + } | ||
| 201 | 228 | ||
| 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 | 237 | ||
| 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 | ||