diff options
author | Bram <bug_rh@spam.wizbit.be> | 2013-04-18 16:50:49 +0200 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2015-01-25 15:12:10 +1000 |
commit | 9317ea653afc26402387cac67042f9890af6add2 (patch) | |
tree | baff3493a2fc6472db20b8cd5fad7c2612e81b01 | |
parent | bea58013607c6507108bc73744a0bf63d735f259 (diff) | |
download | glibc-9317ea653afc26402387cac67042f9890af6add2.zip glibc-9317ea653afc26402387cac67042f9890af6add2.tar.gz glibc-9317ea653afc26402387cac67042f9890af6add2.tar.bz2 |
Fix segmentation fault when LD_LIBRARY_PATH contains only non-existings paths
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 18 | ||||
-rw-r--r-- | elf/dl-load.c | 6 |
3 files changed, 18 insertions, 12 deletions
@@ -1,3 +1,9 @@ +2015-01-25 Bram <bug_rh@spam.wizbit.be> + + [BZ #15378] + * elf/dl-load.c (open_path): Avoid writing to 'env_path_list' + when none of the search directories exist. + 2015-01-24 Adhemerval Zanellla <azanella@linux.vnet.ibm.com> [BZ #17869] @@ -10,15 +10,15 @@ Version 2.21 * The following bugs are resolved with this release: 6652, 10672, 12674, 12847, 12926, 13862, 14132, 14138, 14171, 14498, - 15215, 15884, 16009, 16418, 16191, 16469, 16617, 16619, 16657, 16740, - 16857, 17192, 17266, 17273, 17344, 17363, 17370, 17371, 17411, 17460, - 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571, 17572, - 17573, 17574, 17582, 17583, 17584, 17585, 17589, 17594, 17601, 17608, - 17616, 17625, 17630, 17633, 17634, 17635, 17647, 17653, 17657, 17658, - 17664, 17665, 17668, 17682, 17702, 17717, 17719, 17722, 17723, 17724, - 17725, 17732, 17733, 17744, 17745, 17746, 17747, 17748, 17775, 17777, - 17780, 17781, 17782, 17791, 17793, 17796, 17797, 17803, 17806, 17834, - 17844, 17848, 17868, 17869, 17870 + 15215, 15378, 15884, 16009, 16418, 16191, 16469, 16617, 16619, 16657, + 16740, 16857, 17192, 17266, 17273, 17344, 17363, 17370, 17371, 17411, + 17460, 17475, 17485, 17501, 17506, 17508, 17522, 17555, 17570, 17571, + 17572, 17573, 17574, 17582, 17583, 17584, 17585, 17589, 17594, 17601, + 17608, 17616, 17625, 17630, 17633, 17634, 17635, 17647, 17653, 17657, + 17658, 17664, 17665, 17668, 17682, 17702, 17717, 17719, 17722, 17723, + 17724, 17725, 17732, 17733, 17744, 17745, 17746, 17747, 17748, 17775, + 17777, 17780, 17781, 17782, 17791, 17793, 17796, 17797, 17803, 17806, + 17834, 17844, 17848, 17868, 17869, 17870 * A new semaphore algorithm has been implemented in generic C code for all machines. Previous custom assembly implementations of semaphore were diff --git a/elf/dl-load.c b/elf/dl-load.c index 73174aa..41b91fc 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1889,9 +1889,9 @@ open_path (const char *name, size_t namelen, int mode, if (sps->malloced) free (sps->dirs); - /* rtld_search_dirs is attribute_relro, therefore avoid writing - into it. */ - if (sps != &rtld_search_dirs) + /* rtld_search_dirs and env_path_list are attribute_relro, therefore + avoid writing into it. */ + if (sps != &rtld_search_dirs && sps != &env_path_list) sps->dirs = (void *) -1; } |