diff options
author | Purushottam Kushwaha <pkushwah@codeaurora.org> | 2017-07-12 11:41:06 +0530 |
---|---|---|
committer | Rashed Abdel-Tawab <rashed@linux.com> | 2017-10-28 18:08:14 -0700 |
commit | 945b9ebd6f18070c21c1131acf4f7374cc795056 (patch) | |
tree | 1b7adf2ceb13a976cd31f05531ff8be85e99903e | |
parent | 39d5d150d9ebbc71a6cdc8a06f8c8e646806bf04 (diff) | |
download | android_hardware_interfaces-945b9ebd6f18070c21c1131acf4f7374cc795056.tar.gz android_hardware_interfaces-945b9ebd6f18070c21c1131acf4f7374cc795056.tar.bz2 android_hardware_interfaces-945b9ebd6f18070c21c1131acf4f7374cc795056.zip |
wifi: Handle errors other than wifi_error enum.
wifi_error enum has limited set of errors defined. Netlink command
may return any linux error code. In cases where netlink returns
errors other than wifi_error enum, createWifiStatusFromLegacyError
function is not returning any error because of missing default case
in switch statement, which leads to a crash.
This commit adds default case to handle undefined wifi_error(s) in
default case.
CRs-Fixed: 2074510
Change-Id: Ieba8661ba6019de62269db6f04aef11056f693d2
-rw-r--r-- | wifi/1.1/default/wifi_status_util.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/wifi/1.1/default/wifi_status_util.cpp b/wifi/1.1/default/wifi_status_util.cpp index 3a85e0998..26dd5a5de 100644 --- a/wifi/1.1/default/wifi_status_util.cpp +++ b/wifi/1.1/default/wifi_status_util.cpp @@ -92,6 +92,10 @@ WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error, case legacy_hal::WIFI_ERROR_UNKNOWN: return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, "unknown"); + default: + const std::string errStr = "errno: " + std::to_string(error) + + " (" + strerror(error) + ")"; + return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, errStr); } } |