diff options
author | Khem Raj <raj.khem@gmail.com> | 2015-03-18 02:05:06 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-16 22:40:53 +0100 |
commit | cb7368c110553dcb972480abc4a59b975677f7df (patch) | |
tree | 2ffd1b35c59f320e2141bc3016ca1777ffa4d412 /meta/recipes-core/glibc/glibc/0002-nativesdk-glibc-Fix-buffer-overrun-with-a-relocated-.patch | |
parent | 0183d7c4067fdf171a4420477e965dca58f6d7d3 (diff) | |
download | poky-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-.patch | 50 |
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 @@ | |||
1 | From 086b65d9aacffc47fcd8df68818a476a5ae76fa1 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 18 Mar 2015 01:50:00 +0000 | ||
4 | Subject: [PATCH 02/27] nativesdk-glibc: Fix buffer overrun with a relocated | ||
5 | SDK | ||
6 | |||
7 | When ld-linux-*.so.2 is relocated to a path that is longer than the | ||
8 | original fixed location, the dynamic loader will crash in open_path | ||
9 | because it implicitly assumes that max_dirnamelen is a fixed size that | ||
10 | never changes. | ||
11 | |||
12 | The allocated buffer will not be large enough to contain the directory | ||
13 | path string which is larger than the fixed location provided at build | ||
14 | time. | ||
15 | |||
16 | Upstream-Status: Inappropriate [OE SDK specific] | ||
17 | |||
18 | Signed-off-by: Jason Wessel <jason.wessel@windriver.com> | ||
19 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
20 | --- | ||
21 | elf/dl-load.c | 12 ++++++++++++ | ||
22 | 1 file changed, 12 insertions(+) | ||
23 | |||
24 | diff --git a/elf/dl-load.c b/elf/dl-load.c | ||
25 | index 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 | -- | ||
49 | 2.1.4 | ||
50 | |||