Fix segmentation fault when LD_LIBRARY_PATH contains only non-existings paths

This commit is contained in:
Bram 2013-04-18 16:50:49 +02:00 committed by Allan McRae
parent bea5801360
commit 9317ea653a
3 changed files with 18 additions and 12 deletions

View File

@ -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]

18
NEWS
View File

@ -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

View File

@ -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;
}