[PATCH] Gracefully handle incompatible locale data

Ludovic Courtès ludo@gnu.org
Tue Sep 22 15:28:00 GMT 2015


With libc 2.22 people are starting to realize that libc does not
guarantee that it can load locale data built with another libc version,
but they learn it the hard way:

  loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed.

This patch changes such conditions to return EINVAL instead of aborting.

WDYT?

Thanks,
Ludo’.

2015-10-22  Ludovic Courtès  <ludo@gnu.org>

	* locale/loadlocale.c (_nl_intern_locale_data): Change assertion
	on CNT to a conditional jump to 'puntdata'.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-patch
Size: 585 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20150922/52f0e49d/attachment.bin>


More information about the Libc-alpha mailing list