summaryrefslogtreecommitdiff
path: root/patches/glibc/2.19/106-dl-open-array-bounds.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.19/106-dl-open-array-bounds.patch')
-rw-r--r--patches/glibc/2.19/106-dl-open-array-bounds.patch36
1 files changed, 0 insertions, 36 deletions
diff --git a/patches/glibc/2.19/106-dl-open-array-bounds.patch b/patches/glibc/2.19/106-dl-open-array-bounds.patch
deleted file mode 100644
index 08a9076..0000000
--- a/patches/glibc/2.19/106-dl-open-array-bounds.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-commit 328c44c3670ebf6c1bd790acddce65a12998cd6c
-Author: Roland McGrath <roland@hack.frob.com>
-Date: Fri Apr 17 12:11:58 2015 -0700
-
- Fuller check for invalid NSID in _dl_open.
-
-diff --git a/elf/dl-open.c b/elf/dl-open.c
-index 0dbe07f..2d0e082 100644
---- a/elf/dl-open.c
-+++ b/elf/dl-open.c
-@@ -211,7 +211,7 @@ dl_open_worker (void *a)
- struct link_map *l = _dl_find_dso_for_object ((ElfW(Addr)) caller_dlopen);
-
- if (l)
-- call_map = l;
-+ call_map = l;
-
- if (args->nsid == __LM_ID_CALLER)
- args->nsid = call_map->l_ns;
-@@ -619,8 +619,14 @@ no more namespaces available for dlmopen()"));
- /* Never allow loading a DSO in a namespace which is empty. Such
- direct placements is only causing problems. Also don't allow
- loading into a namespace used for auditing. */
-- else if (__builtin_expect (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER, 0)
-- && (GL(dl_ns)[nsid]._ns_nloaded == 0
-+ else if (__glibc_unlikely (nsid != LM_ID_BASE && nsid != __LM_ID_CALLER)
-+ && (__glibc_unlikely (nsid < 0 || nsid >= GL(dl_nns))
-+ /* This prevents the [NSID] index expressions from being
-+ evaluated, so the compiler won't think that we are
-+ accessing an invalid index here in the !SHARED case where
-+ DL_NNS is 1 and so any NSID != 0 is invalid. */
-+ || DL_NNS == 1
-+ || GL(dl_ns)[nsid]._ns_nloaded == 0
- || GL(dl_ns)[nsid]._ns_loaded->l_auditing))
- _dl_signal_error (EINVAL, file, NULL,
- N_("invalid target namespace in dlmopen()"));