Bug#361039: libc6: bad regcomp initialization, fixed upstream
Package: libc6
Severity: serious
Version: 2.3.6-4
After initializing a mutex, regcomp zeros the structure. On
architectures that have non-zero free lock values (e.g., hppa) this
results in deadlock.
The following patch fixes the problem.
(See http://www.sourceware.org/cgi-bin/cvsweb.cgi/libc/posix/regcomp.c.diff?r1=1.95&r2=1.96&cvsroot=glibc )
===================================================================
RCS file: /cvs/glibc/libc/posix/regcomp.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
--- libc/posix/regcomp.c 2005/05/06 23:33:52 1.95
+++ libc/posix/regcomp.c 2005/07/10 22:01:14 1.96
@@ -774,8 +774,6 @@
}
preg->used = sizeof (re_dfa_t);
- __libc_lock_init (dfa->lock);
-
err = init_dfa (dfa, length);
if (BE (err != REG_NOERROR, 0))
{
@@ -789,6 +787,8 @@
strncpy (dfa->re_str, pattern, length + 1);
#endif
+ __libc_lock_init (dfa->lock);
+
err = re_string_construct (®exp, pattern, length, preg->translate,
syntax & RE_ICASE, dfa);
if (BE (err != REG_NOERROR, 0))
===================================================================
Reply to: