diff options
author | dimitry <dimitry@google.com> | 2017-07-18 21:48:06 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-07-18 21:48:06 +0000 |
commit | a5f74a4a80c0b82fefb7f3afb7e48556d5cf93a2 (patch) | |
tree | 5066660c1070a6f402537050f39579dfaa019028 | |
parent | 623d83754a1c91d420b6d645933e4ce46d391690 (diff) | |
parent | d6b25861d05817ace9a19c55e3a0e5e38a4177aa (diff) | |
download | bionic-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.cpp | 5 |
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; } |