glibc/glibc-fix-lookup-crash.patch
Sascha Peilicke 370e6585ab Accepting request 79227 from Base:System
Fix crash (access-after-free) in dl_lookup_x.  [bnc#703140];mark subpackages as noarch. (forwarded request 79226 from a_jaeger)

OBS-URL: https://build.opensuse.org/request/show/79227
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/glibc?expand=0&rev=73
2011-08-18 14:00:14 +00:00

20 lines
801 B
Diff

Index: glibc-2.11.3/elf/dl-close.c
===================================================================
--- glibc-2.11.3.orig/elf/dl-close.c 2011-05-27 15:08:23.000000000 +0200
+++ glibc-2.11.3/elf/dl-close.c 2011-07-13 19:28:52.000000000 +0200
@@ -127,7 +127,13 @@ _dl_close_worker (struct link_map *map)
{
struct link_map **oldp = map->l_initfini;
map->l_initfini = map->l_orig_initfini;
- _dl_scope_free (oldp);
+ /* We can't remove the l_initfini memory because
+ it's shared with l_searchlist.r_list. We don't clear
+ the latter so when we dlopen this object again that
+ entry would point to stale memory. And we don't want
+ to recompute it as it would involve a new call to
+ map_object_deps.
+ _dl_scope_free (oldp); */
}
}