commit | f062244cdbbab374c8559fbdb6fa1ff153732e0c | [log] [tgz] |
---|---|---|
author | Andy Heninger <andy.heninger@gmail.com> | Sat Feb 13 13:28:10 2021 -0800 |
committer | Frank Yung-Fong Tang <ftang@google.com> | Wed Feb 17 18:49:55 2021 -0800 |
tree | b4145973f8d8a4d897d6b06151f6710fd325af2f | |
parent | 352b4811465741f9094861301fd6933e3b9aed9b [diff] |
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.
This is the repository for the International Components for Unicode. The ICU project is under the stewardship of The Unicode Consortium.
master
branch)Build | Status |
---|---|
TravisCI | |
Azure Pipelines | |
Azure Pipelines (Exhaustive Tests) | |
Azure Pipelines (Valgrind ICU4C) | |
AppVeyor | |
Fuzzing |
icu4c/
ICU for C/C++icu4j/
ICU for Javatools/
Toolsvendor/
Vendor dependenciesPlease see ./icu4c/LICENSE (C and J are under an identical license file.)
Copyright © 2016 and later Unicode, Inc. and others. All Rights Reserved. Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. Terms of Use and License