forked from pool/glibc
This commit is contained in:
parent
bfa9cb6251
commit
7b4ba33fb1
@ -1,6 +1,13 @@
|
||||
--- malloc/hooks.c~ 2009-06-08 17:55:07.982329000 +0200
|
||||
+++ malloc/hooks.c 2009-06-08 17:56:41.178045000 +0200
|
||||
@@ -276,15 +276,18 @@
|
||||
2009-06-15 Petr Baudis <pasky@suse.cz>
|
||||
|
||||
* malloc/hooks.c (free_check): Do not invoke mem2chunk_check()
|
||||
without main_arena mutex held.
|
||||
|
||||
diff --git a/malloc/hooks.c b/malloc/hooks.c
|
||||
index 622a815..47d3c85 100644
|
||||
--- malloc/hooks.c
|
||||
+++ malloc/hooks.c
|
||||
@@ -276,25 +276,33 @@ free_check(mem, caller) Void_t* mem; const Void_t *caller;
|
||||
mchunkptr p;
|
||||
|
||||
if(!mem) return;
|
||||
@ -9,29 +16,34 @@
|
||||
+#endif
|
||||
p = mem2chunk_check(mem, NULL);
|
||||
if(!p) {
|
||||
+#ifndef ATOMIC_FASTBINS
|
||||
+ (void)mutex_unlock(&main_arena.mutex);
|
||||
+#endif
|
||||
malloc_printerr(check_action, "free(): invalid pointer", mem);
|
||||
- return;
|
||||
+ goto out;
|
||||
return;
|
||||
}
|
||||
#if HAVE_MMAP
|
||||
if (chunk_is_mmapped(p)) {
|
||||
munmap_chunk(p);
|
||||
- return;
|
||||
+ goto out;
|
||||
}
|
||||
- }
|
||||
+ } else
|
||||
#endif
|
||||
+ {
|
||||
#if 0 /* Erase freed memory. */
|
||||
@@ -293,8 +296,12 @@
|
||||
- memset(mem, 0, chunksize(p) - (SIZE_SZ+1));
|
||||
+ memset(mem, 0, chunksize(p) - (SIZE_SZ+1));
|
||||
#endif
|
||||
#ifdef ATOMIC_FASTBINS
|
||||
_int_free(&main_arena, p, 0);
|
||||
- _int_free(&main_arena, p, 0);
|
||||
+ _int_free(&main_arena, p, 0);
|
||||
#else
|
||||
- (void)mutex_lock(&main_arena.mutex);
|
||||
_int_free(&main_arena, p);
|
||||
- _int_free(&main_arena, p);
|
||||
+ _int_free(&main_arena, p);
|
||||
+#endif
|
||||
+out:
|
||||
+#ifdef ATOMIC_FASTBINS
|
||||
+ ;
|
||||
+#else
|
||||
+ }
|
||||
+#ifndef ATOMIC_FASTBINS
|
||||
(void)mutex_unlock(&main_arena.mutex);
|
||||
#endif
|
||||
}
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1f5498c9c2ccb5438487af0541cfe1978c77fa47e2078b793be35149cc8320e7
|
||||
size 15590281
|
3
glibc-2.10.1-d0f6ed789f.tar.bz2
Normal file
3
glibc-2.10.1-d0f6ed789f.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f81ecd9bd7b19d230a01b53b34945f5ffd53f8a31af7b68cf056acd396652646
|
||||
size 15589254
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 18 00:58:47 CEST 2009 - pbaudis@suse.cz
|
||||
|
||||
- Fix a dead-lock introduced by the bnc#509398 fix
|
||||
- Update to glibc-2.10.1-d0f6ed789f of glibc/pb-stable.git glibc-2.10-branch
|
||||
(Still the same source is used for glibc-ports.) - random minor fixes
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 12 12:19:34 CEST 2009 - pbaudis@suse.cz
|
||||
|
||||
|
18
glibc.spec
18
glibc.spec
@ -54,7 +54,7 @@ BuildRequires: libselinux-devel
|
||||
%define powerpc_optimize_cpu_cell 0
|
||||
# optimize_power
|
||||
%endif
|
||||
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later
|
||||
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
|
||||
Summary: Standard Shared Libraries (from the GNU C Library)
|
||||
Group: System/Libraries
|
||||
Obsoletes: ngpt <= 2.2.2 ngpt-devel <= 2.2.2
|
||||
@ -69,13 +69,13 @@ Obsoletes: glibc-32bit
|
||||
Provides: rtld(GNU_HASH)
|
||||
AutoReqProv: on
|
||||
Version: 2.10.1
|
||||
Release: 3
|
||||
Release: 4
|
||||
Url: http://www.gnu.org/software/libc/libc.html
|
||||
PreReq: filesystem
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
# The glibc source comes from http://repo.or.cz/w/glibc/pb-stable.git
|
||||
# glibc-2.10-branch.
|
||||
Source: glibc-%{version}-9cf557216c.tar.bz2
|
||||
Source: glibc-%{version}-d0f6ed789f.tar.bz2
|
||||
Source2: glibc-ports-%{version}-2b2b217196.tar.bz2
|
||||
Source3: noversion.tar.bz2
|
||||
Source4: manpages.tar.bz2
|
||||
@ -165,7 +165,7 @@ complete and is partially out of date.
|
||||
|
||||
|
||||
%package html
|
||||
License: GPL v2 or later; LGPL v2.1 or later
|
||||
License: GPL v2 or later ; LGPL v2.1 or later
|
||||
Summary: HTML Documentation for the GNU C Library
|
||||
Group: Documentation/HTML
|
||||
AutoReqProv: on
|
||||
@ -192,7 +192,7 @@ created.
|
||||
|
||||
|
||||
%package locale
|
||||
License: GPL v2 or later; LGPL v2.1 or later
|
||||
License: GPL v2 or later ; LGPL v2.1 or later
|
||||
Summary: Locale Data for Localized Programs
|
||||
Group: System/Libraries
|
||||
Requires: glibc = %{version}
|
||||
@ -244,7 +244,7 @@ necessary for profiling and debugging.
|
||||
|
||||
|
||||
%package devel
|
||||
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later
|
||||
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
|
||||
Summary: Include Files and Libraries Mandatory for Development
|
||||
Group: Development/Libraries/C and C++
|
||||
Obsoletes: epoll = 1.0
|
||||
@ -267,7 +267,7 @@ library.
|
||||
|
||||
|
||||
%package obsolete
|
||||
License: BSD 3-Clause; GPL v2 or later; LGPL v2.1 or later
|
||||
License: BSD 3-clause (or similar) ; GPL v2 or later ; LGPL v2.1 or later
|
||||
Summary: Obsolete Shared Libraries from the GNU C Library
|
||||
Group: System/Libraries
|
||||
Requires: glibc = %{version}
|
||||
@ -1058,6 +1058,10 @@ exit 0
|
||||
%{_libdir}/libdl_p.a
|
||||
|
||||
%changelog
|
||||
* Thu Jun 18 2009 pbaudis@suse.cz
|
||||
- Fix a dead-lock introduced by the bnc#509398 fix
|
||||
- Update to glibc-2.10.1-d0f6ed789f of glibc/pb-stable.git glibc-2.10-branch
|
||||
(Still the same source is used for glibc-ports.) - random minor fixes
|
||||
* Fri Jun 12 2009 pbaudis@suse.cz
|
||||
- Update to glibc-2.10.1-9cf557216c of glibc/pb-stable.git glibc-2.10-branch
|
||||
(Still the same source is used for glibc-ports.)
|
||||
|
Loading…
Reference in New Issue
Block a user