Commit Graph

22149 Commits

Author SHA1 Message Date
Andy Heninger
a03a52782e ICU-20197 ICU4C Multithreaded tests cleanup 2019-02-20 15:30:23 -08:00
Norbert Runge
219730e167 ICU-20217 Interprets fuzzer data as UCHar* instead of UTF-8. The conversion
from assumed UTF-8 resulted in an extremely large percentage of Unicode
replacement characters in the data passed to the API under test.

ICU-20217 Uses fuzzer generated bytes to make random selection of locales, converters,
etc., replacing the random number generator. This way the fuzzer can control
the selections.

ICU-20217 Minor follow-ups from code review.
Removes fuzzer target break_iterator_utf32_fuzzer which does not perform
anything useful what the regular break iterator fuzzer target already performs.

ICU-20217 Fixes for-loop body.

ICU-20217 Uses am allocated buffer to pass head-truncated fuzzer data to the
API under test. The fuzzer may otherwise not detect buffer underflow.
by

ICU-20217 Typing fix.

ICU-20217 Fixing typing.

ICU-20217 Improve fuzzer targets, move truncated fuzzer data into a
new buffer to prevent that buffer underflow goes undetected.

ICU-20217 Fixes buffer management of fuzzer-provided data.

ICU-20217 Factor in PR review comments.
2019-02-20 15:22:26 -08:00
Peter Edberg
ba100f21b5 ICU-12902 make create/getInstanceForSkeleton use correct calendar; don't try to capitalize empty field 2019-02-20 13:50:34 -08:00
Peter Edberg
641326d7b8 ICU-20078 Add JP_ERA_2019 constants, export enableTentativeEra(), add intervalFmt tests with eras 2019-02-20 10:42:49 -08:00
Jeff Genovy
9f87d2d4be ICU-20413 ICU4C: OOM not handled in initStaticTimeZones() in timezone.cpp.
-Use static allocated memory and placement new to avoid OOM failures.
2019-02-20 10:41:40 -08:00
Shane F. Carr
7791a58a83 ICU-10923 Adding wildcard resource matching. 2019-02-20 12:20:38 -06:00
Shane F. Carr
8db0321f54 ICU-10923 Adding file replacement mechanism to buildtool. 2019-02-20 12:20:25 -06:00
Jeff Genovy
4509ab7d96 ICU-20419 Export internal StackUResourceBundle helper, so it can be used in the i18n library.
Replace all current usages of ures_initStackObject() in the i18n library with the StackUResourceBundle helper.
2019-02-20 09:24:24 -08:00
Fredrik Roubert
168c97f32a ICU-20431 Both und_XX and _XX should fall back to the default locale 2019-02-20 13:06:51 +01:00
Jeff Genovy
8858da9b7f ICU-20414 Add internal ures_openDirectFillIn API, use in getTZDataVersion to avoid memory allocation for UResourceBundle. 2019-02-19 16:58:38 -08:00
Andy Heninger
719d4fd3b5 ICU-20415 uregex_start64() and end64() truncation. 2019-02-19 15:59:21 -08:00
Jeff Genovy
cc7f16941d ICU-20210 ICU-20211 Cherry-pick fixes from CLDR to unblock exhaustive tests.
Cherry-pick cldrbug 11492: Bad symbols for NaN in sv, ksh, kl, se locales.
Cherry-pick cldrbug 11491: sd, month name for July uses character not in exemplars.
Updated the various ICU4J *.jar files as well.
2019-02-18 21:56:28 -08:00
Shane Carr
06ec8f531e ICU-20254 Handling OOM in AffixTokenMatcherWarehouse. 2019-02-18 21:38:17 -08:00
Shane Carr
7a4d70c634 ICU-20284 Updating docs on mutability of currency fraction digits. 2019-02-18 21:32:37 -08:00
Shane Carr
68168a6067 ICU-13731 Adding test for default currency symbol. 2019-02-18 21:29:51 -08:00
Shane Carr
9cdb660b5e ICU-20144 Implementing numsys-dependent range pattern loading. 2019-02-18 01:32:11 -08:00
Peter Edberg
2b82c096e0 ICU-20383 DateTimePatternGen should map 'j' using timeData, not short time cycle (#419) 2019-02-17 19:55:52 -08:00
Mihai Nita
f78e1a53d6 ICU-10675 Documentation wrong on ICU4C ListFormatter 2019-02-15 17:21:33 -08:00
Shane Carr
06a8de0f0a ICU-10923 Configure should fail when Python fails. 2019-02-15 17:10:59 -08:00
Shane Carr
588210417c ICU-20313 Adding more docs about thread-safety of Number[Range]Formatter. 2019-02-15 17:08:51 -08:00
Frank Tang
94ff6b1024 ICU-20410 Fix grandfathered tag w/ extensions 2019-02-15 16:51:31 -08:00
Shane Carr
0ef0629736 ICU-20108 Adding new parseLenients from CLDR 34 to ICU. 2019-02-15 16:51:17 -08:00
Shane Carr
35b182767f ICU-20409 Additional refactoring of FormattedValue implementations.
- Migrates Number[Range] formatter to helper macros.
- Adds additional macros.
- Syncs docstrings between subclasses.
2019-02-15 16:50:22 -08:00
Shane Carr
8c2de1401e ICU-20144 Adding better documentation and behavior testing on NumberingSystem. 2019-02-15 15:12:29 -08:00
Shane Carr
8c196b6f89 ICU-20380 Adding error code to DecimalFormat::toNumberFormatter(). 2019-02-15 14:37:12 -08:00
Frank Tang
736757aced ICU-20407 hy-arevela/hy-arevmda can. into hy / hyw 2019-02-15 12:40:47 -08:00
Markus Scherer
ac4387a374 ICU-20203 Unicode 12 data 20190214 2019-02-15 11:37:34 -08:00
Nebojsa Ciric
a9d2196913 ICU-12584 Fix memory allocation for getFormats.
Also:
  Add a test case for inner message, other small cleanup.
  Style fixes, using better test methods
2019-02-14 18:39:49 -08:00
Peter Edberg
162aaf9aa5 ICU-20365 if roundingIncrement significance smaller than maxFrac, do not use it 2019-02-14 17:23:23 -08:00
Shane F. Carr
a0f02b12d0 ICU-20121 Adding span field for FormattedList. 2019-02-14 16:05:51 -08:00
Romain Geissler
6f59c29ebc ICU-20244 Fix gcc stringop-overflow warning/error in uloc.cpp. 2019-02-14 13:55:54 -08:00
Shane Carr
01a24ff78f ICU-11725 Promoting tech-previews in DecimalFormat to @draft.
- Changes Java DecimalFormat boolean get* methods to is*.
- Makes the new draft methods non-virtual.
- Removes obsolete template class in header file.
- Adds proper U_HIDE tags in unum.h and decimfmt.h
2019-02-14 13:50:03 -08:00
Shane Carr
f8d8500f7c ICU-20121 Fixing docs tags in FormattedList. 2019-02-14 13:48:19 -08:00
Shane Carr
d243867c11 ICU-20138 Adding matchesField as draft and removing getConstraintType. 2019-02-14 13:45:49 -08:00
Shane F. Carr
c05eee688c ICU-10923 Remove unused variable AVAILABLE_FEATURES. 2019-02-14 13:44:48 -08:00
Markus Scherer
1afef30549 ICU-20187 drop support for long-obsolete locale ID variants 2019-02-14 12:27:42 -08:00
Markus Scherer
d2e3a8847d ICU-20111 move text layout properties data into a new ulayout.icu data file 2019-02-14 08:30:57 -08:00
Frank Tang
6942013a38 ICU-20328 Implement LocaleBuilder
Design Doc: https://goo.gl/Qf12p3
2019-02-13 17:24:38 -08:00
Jeff Genovy
0e6a6f6fff ICU-20416 Various OOM fixes for calendar.cpp 2019-02-13 13:10:28 -08:00
Jeff Genovy
1f17beb8eb ICU-20100 Change the name of the TimeZone::getDisplayName daylight parameter.
The TimeZone::getDisplayName "daylight" parameter conflicts with an existing macro in the CRT "time.h" header.
2019-02-13 10:55:43 -08:00
Tobias Stoeckmann
7369eff4ed ICU-20362 segfault/leftover files with long lines
If a file with an input line larger than INT32_MAX (i.e. 2 GB) contains
an UTF8 character after that limit, escapesrc crashes on 64 bit systems
or does not remove incomplete files on 32 bit systems.

The issue is that an unchecked cast from size_t to int32_t can turn
negative, which results in negative offsets during array access.

This will eventually lead to an out of boundary read, which most likely
crashes the tool.

This patch sets a fixed limit on 1 GB to make sure that no side effects
occur if the line is exactly INT32_MAX or a few bytes less. It should
still be way more than anyone would really need.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2019-02-13 10:23:19 -08:00
Tobias Stoeckmann
c04f9f1c01 ICU-20363 Out of boundary write on empty file.
If gencnval encounters an empty input file the function resolveAlias
triggers an out of boundary write due to uniqueAliasArr pointing to
a 0 byte reserved memory address.

This patch protects the code in question with a check for
knownAliasesCount being not 0.

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2019-02-13 10:22:56 -08:00
Nebojsa Ciric
d2d8f0ec8f ICU-11991 Fixed memory leak in parse.cpp
Squashed commits for merge.
2019-02-12 12:53:35 -08:00
Shane Carr
e2ad4f8113 ICU-20342 Adding FormattedDateInterval in C and C++.
- Adds first "span" field category
- Re-implements DateIntervalFormat#fallbackFormat to use FieldPositionHandler
- New temporary wiring in SimpleFormatter
2019-02-11 16:12:03 -08:00
Daniel Ju
f4f899a63b ICU-13789 ICU-20387 ICU4C PerfTest does not build, Upgrade various *.vcxproj files 2019-02-11 14:22:58 -08:00
Jeff Genovy
4ebb3cebf5 ICU-20382 ICU4C: pkgdata and genccode support ARM32 but not ARM64 on Windows platforms. 2019-02-11 12:31:29 -08:00
Shane Carr
249e03ccd6 ICU-13256 Implementing FormattedRelativeDateTime in C, C++, and Java.
- Adds additional logic to NumberStringBuilder.
- Extends logic of number::impl::Field type.
- Adds tests for RBNF support.
- Adds tests from ftang's original PR.
2019-02-11 11:35:51 -08:00
Shane F. Carr
c70a9db818 ICU-20332 Adding duration-person unit data and APIs to C and J.
- Rebuilds ICU4J data jars.
- Includes a workaround in data loading to be fixed with ICU-20400.
2019-02-08 16:55:20 -08:00
Shane F. Carr
30396f4dd0 ICU-20378 Changing APIs for UFieldCategory to int32_t. 2019-02-08 16:45:55 -08:00
Andy Heninger
64f4dd64e2 ICU-12017 Improve line break around numbers. 2019-02-08 13:54:14 -08:00