summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-10-13 17:06:29 +0000
committerUlrich Drepper <drepper@redhat.com>2007-10-13 17:06:29 +0000
commit656f02ce5b080fa4dfdd7c6f0ee52aa30b94c880 (patch)
tree57d4697dc8782e8e4970ca4127d078f9f798e766
parent7e39d8025d5c9d02c61f1506642c7dd91a1e461a (diff)
downloadglibc-656f02ce5b080fa4dfdd7c6f0ee52aa30b94c880.tar.gz
glibc-656f02ce5b080fa4dfdd7c6f0ee52aa30b94c880.tar.xz
glibc-656f02ce5b080fa4dfdd7c6f0ee52aa30b94c880.zip
* intl/dcigettext.c (_nl_find_msg): Unlock the conversions_lock
	when we cannot recode the message.
-rw-r--r--ChangeLog5
-rw-r--r--intl/dcigettext.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 99ae63e820..ede6541374 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-10-13  Bruno Haible  <bruno@clisp.org>
+
+	* intl/dcigettext.c (_nl_find_msg): Unlock the conversions_lock
+	when we cannot recode the message.
+
 2007-10-13  Ulrich Drepper  <drepper@redhat.com>
 
 	[BZ #4359]
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 55dcaabd80..a2cd8014c3 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -974,6 +974,7 @@ _nl_find_msg (domain_file, domainbinding, msgid, convert, lengthp)
 			   translation at all.  */
 			if (__builtin_expect (r != __GCONV_NULCONV, 1))
 			  {
+			    __libc_rwlock_unlock (domain->conversions_lock);
 			    free ((char *) encoding);
 			    return NULL;
 			  }