Mercurial > hg > octave-nkf > gnulib-hg
changeset 17801:e0d0967413d8
gen-uni-tables: check out-of-range values added to 3-level tables
* lib/gen-uni-tables.c (output_category, output_bidi_category)
(output_joining_type, output_ident_category): Check out-of-range
values added to 3-level tables.
author | Daiki Ueno <ueno@gnu.org> |
---|---|
date | Fri, 10 Oct 2014 22:59:46 +0900 |
parents | 77c9a9621115 |
children | 2f12053a4eec |
files | ChangeLog lib/gen-uni-tables.c |
diffstat | 2 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2014-11-13 Daiki Ueno <ueno@gnu.org> + + gen-uni-tables: check out-of-range values added to 3-level tables + * lib/gen-uni-tables.c (output_category, output_bidi_category) + (output_joining_type, output_ident_category): Check out-of-range + values added to 3-level tables. + 2014-11-13 Daiki Ueno <ueno@gnu.org> gen-uni-tables: utilize 'assert'
--- a/lib/gen-uni-tables.c +++ b/lib/gen-uni-tables.c @@ -1035,6 +1035,8 @@ for (log2_value = 0; value > 1; value >>= 1, log2_value++); + assert (log2_value <= 0x1f); + category_table_add (&t, ch, log2_value); } @@ -1524,6 +1526,8 @@ { int value = get_bidi_category (ch); + assert (value <= 0x1f); + bidi_category_table_add (&t, ch, value); } @@ -3973,6 +3977,8 @@ { uint8_t value = unicode_joining_type[ch]; + assert (value == (uint8_t)~(uint8_t)0 || value <= 0x0f); + joining_type_table_add (&t, ch, value); } @@ -5110,6 +5116,9 @@ for (ch = 0; ch < 0x110000; ch++) { int syntaxcode = predicate (ch); + + assert (syntaxcode <= 0x03); + if (syntaxcode != UC_IDENTIFIER_INVALID) identsyntax_table_add (&t, ch, syntaxcode); }