From 80feb3cdf0865cc3e71d92633000f87b54a4bdf1 Mon Sep 17 00:00:00 2001 From: Ahmed ElArabawy Date: Thu, 24 Oct 2019 19:15:27 -0700 Subject: [PATCH] Wifi: Handle invalid error values from vendor HAL The HAL shim (default implementation) expects all vendor hal functions to return valid wifi_error values. In case the vendor hal returning a value outside this range of values, the HAL service crashes. This commit is to handle this type of error by defaulting to WIFI_ERROR_UNKNOWN. Bug: 143317834 Test: Manual Test: Pass an invalid error code, and make sure it is properly handled Change-Id: Ifaba8a7e4e866a2be154c9dcaeb521cd758010ee --- wifi/1.4/default/wifi_status_util.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/wifi/1.4/default/wifi_status_util.cpp b/wifi/1.4/default/wifi_status_util.cpp index 597c04b609..8ceb9265f1 100644 --- a/wifi/1.4/default/wifi_status_util.cpp +++ b/wifi/1.4/default/wifi_status_util.cpp @@ -46,6 +46,8 @@ std::string legacyErrorToString(legacy_hal::wifi_error error) { return "BUSY"; case legacy_hal::WIFI_ERROR_UNKNOWN: return "UNKNOWN"; + default: + return "UNKNOWN ERROR"; } } @@ -92,6 +94,10 @@ WifiStatus createWifiStatusFromLegacyError(legacy_hal::wifi_error error, case legacy_hal::WIFI_ERROR_UNKNOWN: return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, "unknown"); + + default: + return createWifiStatus(WifiStatusCode::ERROR_UNKNOWN, + "unknown error"); } }