mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-08 18:30:18 +00:00
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.
This commit is contained in:
parent
cf36e5034f
commit
782723d6d8
@ -1,3 +1,8 @@
|
|||||||
|
2015-08-05 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* locale/loadarchive.c (_nl_archive_subfreeres): Also check
|
||||||
|
dead->data[category] != NULL.
|
||||||
|
|
||||||
2015-08-05 Joseph Myers <joseph@codesourcery.com>
|
2015-08-05 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
[BZ #18647]
|
[BZ #18647]
|
||||||
|
@ -515,7 +515,7 @@ _nl_archive_subfreeres (void)
|
|||||||
|
|
||||||
free (dead->name);
|
free (dead->name);
|
||||||
for (category = 0; category < __LC_LAST; ++category)
|
for (category = 0; category < __LC_LAST; ++category)
|
||||||
if (category != LC_ALL)
|
if (category != LC_ALL && dead->data[category] != NULL)
|
||||||
{
|
{
|
||||||
/* _nl_unload_locale just does this free for the archive case. */
|
/* _nl_unload_locale just does this free for the archive case. */
|
||||||
if (dead->data[category]->private.cleanup)
|
if (dead->data[category]->private.cleanup)
|
||||||
|
Loading…
Reference in New Issue
Block a user