aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordimitry <dimitry@google.com>2017-07-18 21:48:06 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-07-18 21:48:06 +0000
commita5f74a4a80c0b82fefb7f3afb7e48556d5cf93a2 (patch)
tree5066660c1070a6f402537050f39579dfaa019028
parent623d83754a1c91d420b6d645933e4ce46d391690 (diff)
parentd6b25861d05817ace9a19c55e3a0e5e38a4177aa (diff)
downloadbionic-a5f74a4a80c0b82fefb7f3afb7e48556d5cf93a2.tar.gz
loader: fix dlopen performance regression caused by fix for CVE-2017-0670
am: d6b25861d0 Change-Id: If9f751cf09c6551aababec28b6100fd77c3b510d
-rw-r--r--linker/linker.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp
index d200c22fe..5939a4119 100644
--- a/linker/linker.cpp
+++ b/linker/linker.cpp
@@ -883,6 +883,11 @@ static bool is_recursive(soinfo* si, soinfo* parent) {
return false;
}
+ // Skip linked libraries - we have already checked them before.
+ if ((si->flags & FLAG_LINKED) != 0) {
+ return false;
+ }
+
if (si == parent) {
return true;
}