|author||Andy Heninger <email@example.com>||Sat Feb 13 13:28:10 2021 -0800|
|committer||Frank Yung-Fong Tang <firstname.lastname@example.org>||Wed Feb 17 18:49:55 2021 -0800|
ICU-21492 Fix regex compile assertion failure. A regex pattern containing nested look-behind blocks could trigger an assertion failure during pattern compilation. The problem was caused by an off-by-one error in the code that computes an upper bound on the match length, needed because look-behind expressions are constrained to not have unbounded match length. Nested look-behind blocks come into play because, when computing the maximum match length of an outer block, any inner look-behind blocks are skipped over - they do not directly contribute to the length matched by the outer block. The problem was in the code that skips over these nested look-behind blocks.
|Azure Pipelines (Exhaustive Tests)|
|Azure Pipelines (Valgrind ICU4C)|
Please see ./icu4c/LICENSE (C and J are under an identical license file.)