summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2017-06-19 14:44:33 +0200
committerFlorian Weimer <fweimer@redhat.com>2017-06-19 23:11:57 +0200
commit37e9dc814636915afb88d0779e5e897e90e7b8c0 (patch)
tree5c7cdc61525effc406d27baa24102fcdf9e6283d
parent81b82fb966ffbd94353f793ad17116c6088dedd9 (diff)
downloadglibc-37e9dc814636915afb88d0779e5e897e90e7b8c0.tar.gz
DCIGETTEXT: Do not make copy of localename
-rw-r--r--ChangeLog5
-rw-r--r--intl/dcigettext.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 5c4815eb43..d4aac40eab 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2017-06-19 Florian Weimer <fweimer@redhat.com>
+ * intl/dcigettext.c (DCIGETTEXT): Do not make copy of localename.
+ It cannot change while __libc_setlocale_lock is acquired.
+
+2017-06-19 Florian Weimer <fweimer@redhat.com>
+
* elf/rtld.c (audit_list_string): New variable.
(audit_list): Update comment.
(struct audit_list_iter): Define.
diff --git a/intl/dcigettext.c b/intl/dcigettext.c
index 3843b7cbdf..d97746cae5 100644
--- a/intl/dcigettext.c
+++ b/intl/dcigettext.c
@@ -551,7 +551,7 @@ DCIGETTEXT (const char *domainname, const char *msgid1, const char *msgid2,
#ifdef HAVE_PER_THREAD_LOCALE
# ifndef IN_LIBGLOCALE
# ifdef _LIBC
- localename = strdupa (__current_locale_name (category));
+ localename = __current_locale_name (category);
# else
categoryname = category_to_name (category);
# define CATEGORYNAME_INITIALIZED