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 (&regexp, pattern, length, preg->translate,
                             syntax & RE_ICASE, dfa);
   if (BE (err != REG_NOERROR, 0))
===================================================================


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to