aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-04-24 22:35:37 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-04-24 22:35:37 +0000
commit9c7892202fa03078d7dbce48143c8b758fa13f2b (patch)
treeb1215e97f609004cf020b45b6abf9155a71d1370
parentf31e93c6e6c7193813e097bd36a4fff8742bb8e9 (diff)
parent9437444cf55cc2bb962aff7a031dda01533d72ee (diff)
downloadbionic-9c7892202fa03078d7dbce48143c8b758fa13f2b.tar.gz
Merge "Only try to initialize appcompat properties if the folder is present" into main
-rw-r--r--libc/system_properties/system_properties.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/libc/system_properties/system_properties.cpp b/libc/system_properties/system_properties.cpp
index 9dd5e35ce..1dedb61e7 100644
--- a/libc/system_properties/system_properties.cpp
+++ b/libc/system_properties/system_properties.cpp
@@ -120,14 +120,18 @@ bool SystemProperties::AreaInit(const char* filename, bool* fsetxattr_failed,
return false;
}
- auto* appcompat_contexts = new (appcompat_override_contexts_data_) ContextsSerialized();
appcompat_filename_ = PropertiesFilename(properties_filename_.c_str(), "appcompat_override");
- if (!appcompat_contexts->Initialize(true, appcompat_filename_.c_str(), fsetxattr_failed,
- load_default_path)) {
- appcompat_override_contexts_ = nullptr;
- return false;
+ appcompat_override_contexts_ = nullptr;
+ if (access(appcompat_filename_.c_str(), F_OK) != -1) {
+ auto* appcompat_contexts = new (appcompat_override_contexts_data_) ContextsSerialized();
+ if (!appcompat_contexts->Initialize(true, appcompat_filename_.c_str(), fsetxattr_failed,
+ load_default_path)) {
+ // The appcompat folder exists, but initializing it failed
+ return false;
+ } else {
+ appcompat_override_contexts_ = appcompat_contexts;
+ }
}
- appcompat_override_contexts_ = appcompat_contexts;
initialized_ = true;
return true;