intl patches (20)

Bruno Haible haible@ilog.fr
Tue Jun 12 06:04:00 GMT 2001


There is a case in intl/dcigettext.c where the function can return without
releasing a lock that has been acquired before. Admittedly it is a rare case,
namely when a relative path is passed to bindtextdomain() AND the current
directory has already been removed with rmdir.


2001-06-12  Bruno Haible  <haible@clisp.cons.org>

	* intl/dcigettext.c (DCIGETTEXT): Release the lock before returning.

--- glibc-20010430/intl/dcigettext.c.bak	Tue Jun 12 12:52:18 2001
+++ glibc-20010430/intl/dcigettext.c	Tue Jun 12 12:49:07 2001
@@ -495,6 +495,7 @@
 	  /* We cannot get the current working directory.  Don't signal an
 	     error but simply return the default string.  */
 	  FREE_BLOCKS (block_list);
+	  __libc_rwlock_unlock (_nl_state_lock);
 	  __set_errno (saved_errno);
 	  return (plural == 0
 		  ? (char *) msgid1



More information about the Libc-alpha mailing list