summaryrefslogtreecommitdiff
path: root/libwifi_system/hostapd_manager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libwifi_system/hostapd_manager.cpp')
-rw-r--r--libwifi_system/hostapd_manager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libwifi_system/hostapd_manager.cpp b/libwifi_system/hostapd_manager.cpp
index 68184e901..658eecdd8 100644
--- a/libwifi_system/hostapd_manager.cpp
+++ b/libwifi_system/hostapd_manager.cpp
@@ -34,6 +34,7 @@
using android::base::ParseInt;
using android::base::ReadFileToString;
+using android::base::RemoveFileIfExists;
using android::base::StringPrintf;
using android::base::WriteStringToFile;
using std::string;
@@ -103,6 +104,9 @@ bool HostapdManager::StopHostapd() {
}
bool HostapdManager::WriteHostapdConfig(const string& config) {
+ // Remove hostapd.conf because its file owner might be system
+ // in previous OS and chmod fails in that case.
+ RemoveFileIfExists(kHostapdConfigFilePath);
if (!WriteStringToFile(config, kHostapdConfigFilePath,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP,
AID_WIFI, AID_WIFI)) {