diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-04-24 22:35:37 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2024-04-24 22:35:37 +0000 |
commit | 9c7892202fa03078d7dbce48143c8b758fa13f2b (patch) | |
tree | b1215e97f609004cf020b45b6abf9155a71d1370 | |
parent | f31e93c6e6c7193813e097bd36a4fff8742bb8e9 (diff) | |
parent | 9437444cf55cc2bb962aff7a031dda01533d72ee (diff) | |
download | bionic-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.cpp | 16 |
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; |