summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndřej Bílka <neleai@seznam.cz>2013-10-15 09:45:37 +0200
committerOndřej Bílka <neleai@seznam.cz>2013-10-15 09:47:33 +0200
commit4b1a6d8bc9cf568f053a66375945bcadb19eef8b (patch)
tree1b4da6799a7be267f93aa21c37999cbaa6246e77
parent1e14558915352b8324428be4e735df484861b3c6 (diff)
downloadglibc-4b1a6d8bc9cf568f053a66375945bcadb19eef8b.tar.gz
Clear initfini list after freeing. Fixes bug 15308.
-rw-r--r--ChangeLog4
-rw-r--r--NEWS13
-rw-r--r--elf/dl-libc.c1
3 files changed, 12 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 579ac6f102..5724413bf5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-10-15 Ondřej Bílka <neleai@seznam.cz>
+
+ * elf/dl-libc.c: Clear initfini list after freeing.
+
2013-10-14 Joseph Myers <joseph@codesourcery.com>
* soft-fp/adddf3.c: Fix vertical whitespace and indentation.
diff --git a/NEWS b/NEWS
index 48bbb02285..ac375f8045 100644
--- a/NEWS
+++ b/NEWS
@@ -10,12 +10,13 @@ Version 2.19
* The following bugs are resolved with this release:
156, 431, 832, 13028, 13982, 13985, 14155, 14547, 14699, 14910, 15048,
- 15362, 15400, 15427, 15522, 15531, 15532, 15608, 15609, 15610, 15632,
- 15640, 15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748, 15749,
- 15754, 15760, 15764, 15797, 15844, 15847, 15849, 15855, 15856, 15857,
- 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905,
- 15909, 15919, 15921, 15923, 15939, 15963, 15966, 15988, 16032, 16034,
- 16036.
+ 15308, 15362, 15400, 15427, 15522, 15531, 15532, 15608, 15609, 15610,
+ 15632, 15640, 15672, 15680, 15681, 15723, 15734, 15735, 15736, 15748,
+ 15749, 15754, 15760, 15764, 15797, 15844, 15847, 15849, 15855, 15856,
+ 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897,
+ 15905, 15909, 15919, 15921, 15923, 15939, 15963, 15966, 15988, 16032,
+ 15905, 15909, 15919, 15921, 15923, 15939, 15963, 15966, 15988, 16032,
+ 16034, 16036.
* CVE-2012-4412 The strcoll implementation caches indices and rules for
large collation sequences to optimize multiple passes. This cache
diff --git a/elf/dl-libc.c b/elf/dl-libc.c
index aba0d1af19..397d898993 100644
--- a/elf/dl-libc.c
+++ b/elf/dl-libc.c
@@ -286,6 +286,7 @@ libc_freeres_fn (free_mem)
/* Free the initfini dependency list. */
if (l->l_free_initfini)
free (l->l_initfini);
+ l->l_initfini = NULL;
}
if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0