about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArjun Shankar <arjun@redhat.com>2018-11-05 15:45:07 +0100
committerArjun Shankar <arjun@redhat.com>2018-11-05 15:45:07 +0100
commit6d6ee04622fd77908936250b1f632c2b4388ee78 (patch)
treeffcfa28ea203337d30aac76cfd03d37e912c5178
parentbd3b0fbae33a9a4cc5e2daf049443d5cf03d4251 (diff)
downloadglibc-6d6ee04622fd77908936250b1f632c2b4388ee78.tar.gz
glibc-6d6ee04622fd77908936250b1f632c2b4388ee78.tar.xz
glibc-6d6ee04622fd77908936250b1f632c2b4388ee78.zip
Unconditionally call __gconv_get_path when reading iconv configuration
__gconv_read_conf is only ever called once during the program's lifetime.
This means that __gconv_path_elem is always uninitialized when the function
begins executing.  __gconv_get_path has an assert to ensure that this
expected runtime behaviour is always exhibited.  Given this, checking for a
NULL value before calling __gconv_get_path is unnecessary.  This commit
drops the condition and calls __gconv_get_path unconditionally.
-rw-r--r--ChangeLog5
-rw-r--r--iconv/gconv_conf.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 5268012d24..d7ee676cf8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-05  Arjun Shankar  <arjun@redhat.com>
+
+	* iconv/gconv_conf.c (__gconv_read_conf): Remove NULL check for
+	__gconv_path_elem and call __gconv_get_path unconditionally.
+
 2018-11-05  Andreas Schwab  <schwab@suse.de>
 
 	[BZ #22927]
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index 78010491e6..2b73dd8f45 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -552,8 +552,7 @@ __gconv_read_conf (void)
 
 #ifndef STATIC_GCONV
   /* Find out where we have to look.  */
-  if (__gconv_path_elem == NULL)
-    __gconv_get_path ();
+  __gconv_get_path ();
 
   for (cnt = 0; __gconv_path_elem[cnt].name != NULL; ++cnt)
     {