Also check dead->data[category] != NULL
authorH.J. Lu <hjl.tools@gmail.com>
Wed, 5 Aug 2015 15:15:51 +0000 (08:15 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Wed, 5 Aug 2015 15:15:51 +0000 (08:15 -0700)
commit782723d6d8c7b599c4fdbbd359a7bc57b25044ad
treeea5fba560d6a71c2611cd2ab87361f63d703484b
parentcf36e5034fa8ed5d44036bce09a55a7f00d19252
Also check dead->data[category] != NULL

_nl_load_locale_from_archive (int category, const char **namep)

has

 for (cnt = 0; cnt < __LC_LAST; ++cnt)
    if (cnt != LC_ALL)
      {
        lia->data[cnt] = _nl_intern_locale_data (cnt,
                                                 results[cnt].addr,
                                                 results[cnt].len);
        if (__glibc_likely (lia->data[cnt] != NULL))
          {
...
          }
      }

lia->data[cnt] can be NULL, which happens to en_US.UTF-8 with
LC_COLLATE.  But this won't happen if glibc is configured with
--enable-hardcoded-path-in-tests.  We should also check
dead->data[category] != NULL.

* locale/loadarchive.c (_nl_archive_subfreeres): Also check
dead->data[category] != NULL.
ChangeLog
locale/loadarchive.c