This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][BZ 19084] Make sure _nl_value_type_LC_<category> arrays have correct size.


thanks, your explanation clears things up.  your patch isn't related to
bug 19084 though as we discussed.  i'm fine with this patch then.  how
about this commit message though:

When constructing the locale arrays, we use categories.def with macros.
For stringarrays (like ABDAY_1), we end up only populating the first of
the array and leave holes for the rest (i.e. we omit ABDAY_2, etc...).
When there happen to be more items after it, things work out because we
implicitly pad out the array to cover the omitted elements.  However,
if these elements are specified last, we don't pad things out, and the
internal checks reject the compiled locale.

For example, if ABDAY_1 came last, the array would look like:
static const enum value_type _nl_value_type_LC_TIME[] = {
    ...
    [...ABDAY_1...] = stringarray,
};
Trying to index ABDAY_2 would now run off the end of the array.
-mike

Attachment: signature.asc
Description: Digital signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]