summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-03-18 02:05:06 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-16 22:40:53 +0100
commitcb7368c110553dcb972480abc4a59b975677f7df (patch)
tree2ffd1b35c59f320e2141bc3016ca1777ffa4d412 /meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
parent0183d7c4067fdf171a4420477e965dca58f6d7d3 (diff)
downloadpoky-cb7368c110553dcb972480abc4a59b975677f7df.tar.gz
glibc: Upgrade 2.21 -> 2.22
- git'ify the OE patches - add_resource_h_to_wait_h.patch - dropped, we do not support that old perf anymore - mips-rld-map-check.patch - Dropped because binutils is fixed for it see https://sourceware.org/ml/binutils/2011-12/msg00112.html - initgroups_keys.patch - Folded into 0026-eglibc-Forward-port-eglibc-options-groups-support.patch Change-Id: Ib8e731b212f52b8ff12e2180babbc19970fb1ef1 (From OE-Core rev: 6ea08396dbb628140fd3289fc9fb19df97914326) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch')
-rw-r--r--meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
new file mode 100644
index 0000000000..b568fc6bdc
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch
@@ -0,0 +1,50 @@
1From 086b65d9aacffc47fcd8df68818a476a5ae76fa1 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 18 Mar 2015 01:50:00 +0000
4Subject: [PATCH 02/27] nativesdk-glibc: Fix buffer overrun with a relocated
5 SDK
6
7When ld-linux-*.so.2 is relocated to a path that is longer than the
8original fixed location, the dynamic loader will crash in open_path
9because it implicitly assumes that max_dirnamelen is a fixed size that
10never changes.
11
12The allocated buffer will not be large enough to contain the directory
13path string which is larger than the fixed location provided at build
14time.
15
16Upstream-Status: Inappropriate [OE SDK specific]
17
18Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
19Signed-off-by: Khem Raj <raj.khem@gmail.com>
20---
21 elf/dl-load.c | 12 ++++++++++++
22 1 file changed, 12 insertions(+)
23
24diff --git a/elf/dl-load.c b/elf/dl-load.c
25index f45085a..f1eb5ed 100644
26--- a/elf/dl-load.c
27+++ b/elf/dl-load.c
28@@ -1765,7 +1765,19 @@ open_path (const char *name, size_t namelen, int mode,
29 given on the command line when rtld is run directly. */
30 return -1;
31
32+ do
33+ {
34+ struct r_search_path_elem *this_dir = *dirs;
35+ if (this_dir->dirnamelen > max_dirnamelen)
36+ {
37+ max_dirnamelen = this_dir->dirnamelen;
38+ }
39+ }
40+ while (*++dirs != NULL);
41+
42 buf = alloca (max_dirnamelen + max_capstrlen + namelen);
43+
44+ dirs = sps->dirs;
45 do
46 {
47 struct r_search_path_elem *this_dir = *dirs;
48--
492.1.4
50