diff options
author | Purushottam Kushwaha <pkushwah@codeaurora.org> | 2017-07-12 11:41:06 +0530 |
---|---|---|
committer | Rashed Abdel-Tawab <rashed@linux.com> | 2017-12-05 16:46:37 -0800 |
commit | feb8e5addee2b7da0953314b06b32419ba715f08 (patch) | |
tree | 344b56faad29be700c55f1265dbf024a44bbb29d | |
parent | 3d522614ec13d9d3911a81789c6776332b82cb43 (diff) | |
download | android_hardware_interfaces-feb8e5addee2b7da0953314b06b32419ba715f08.tar.gz android_hardware_interfaces-feb8e5addee2b7da0953314b06b32419ba715f08.tar.bz2 android_hardware_interfaces-feb8e5addee2b7da0953314b06b32419ba715f08.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); } } |