Ignore target sdk version for the public namespace
This fixes the bug with using the libraries loaded
prior to android_set_target_sdk_version call.
Bug: http://b/22548808
Change-Id: I3ca2d367b0fa930a437bbb65f780834803d2ef0a
diff --git a/linker/linker.cpp b/linker/linker.cpp
index 27bcb21..8b678ff 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -2255,9 +2255,12 @@
g_public_namespace.clear();
});
- soinfo* candidate;
for (const auto& soname : sonames) {
- if (!find_loaded_library_by_soname(&g_default_namespace, soname.c_str(), &candidate)) {
+ soinfo* candidate = nullptr;
+
+ find_loaded_library_by_soname(&g_default_namespace, soname.c_str(), &candidate);
+
+ if (candidate == nullptr) {
DL_ERR("Error initializing public namespace: \"%s\" was not found"
" in the default namespace", soname.c_str());
return false;