diff options
-rw-r--r-- | libwifi_system/supplicant_manager.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/libwifi_system/supplicant_manager.cpp b/libwifi_system/supplicant_manager.cpp index d115dc1e7..28010ec8d 100644 --- a/libwifi_system/supplicant_manager.cpp +++ b/libwifi_system/supplicant_manager.cpp @@ -67,16 +67,22 @@ int ensure_config_file_exists(const char* config_file) { return false; } - templatePath = std::string("/system") + std::string(kSupplicantConfigTemplatePath); - srcfd = TEMP_FAILURE_RETRY(open(templatePath.c_str(), O_RDONLY)); + std::string configPathSystem = + std::string("/system") + std::string(kSupplicantConfigTemplatePath); + std::string configPathVendor = + std::string("/vendor") + std::string(kSupplicantConfigTemplatePath); + srcfd = TEMP_FAILURE_RETRY(open(configPathSystem.c_str(), O_RDONLY)); + templatePath = configPathSystem; if (srcfd < 0) { - LOG(ERROR) << "Cannot open \"" << templatePath << "\": " - << strerror(errno); - templatePath = std::string("/vendor") + std::string(kSupplicantConfigTemplatePath); - srcfd = TEMP_FAILURE_RETRY(open(templatePath.c_str(), O_RDONLY)); + int errnoSystem = errno; + srcfd = TEMP_FAILURE_RETRY(open(configPathVendor.c_str(), O_RDONLY)); + templatePath = configPathVendor; if (srcfd < 0) { - LOG(ERROR) << "Cannot open \"" << templatePath << "\": " - << strerror(errno); + int errnoVendor = errno; + LOG(ERROR) << "Cannot open \"" << configPathSystem << "\": " + << strerror(errnoSystem); + LOG(ERROR) << "Cannot open \"" << configPathVendor << "\": " + << strerror(errnoVendor); return false; } } |