diff options
author | Franziska Hinkelmann <franzih@chromium.org> | 2016-07-22 10:03:22 +0200 |
---|---|---|
committer | Ali Ijaz Sheikh <ofrobots@google.com> | 2016-08-02 23:16:55 -0700 |
commit | 60d46b4e70cd3bc1103d99de0a5b11c97dffd7ee (patch) | |
tree | 4e289f26f83555c8609a0d84efbe7024ddc11cd0 /deps/v8/src/regexp | |
parent | b4258bba11f399503c3cf4fceff0c67a52c05a11 (diff) | |
download | android-node-v8-60d46b4e70cd3bc1103d99de0a5b11c97dffd7ee.tar.gz android-node-v8-60d46b4e70cd3bc1103d99de0a5b11c97dffd7ee.tar.bz2 android-node-v8-60d46b4e70cd3bc1103d99de0a5b11c97dffd7ee.zip |
deps: cherry-pick a51f429 from V8 upstream
Original commit message:
[regexp] Fix case-insensitive matching for one-byte subjects.
The bug occurs because we do not canonicalize character class ranges
before adding case equivalents. While adding case equivalents, we abort
early for one-byte subject strings, assuming that the ranges are sorted.
Which they are not.
R=marja@chromium.org
BUG=v8:5199
Review-Url: https://codereview.chromium.org/2159683002
Cr-Commit-Position: refs/heads/master@{#37833}
Fixes: https://github.com/nodejs/node/issues/7708
PR-URL: https://github.com/nodejs/node/pull/7833
Reviewed-By: targos - Michaƫl Zasso <mic.besace@gmail.com>
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: ofrobots - Ali Ijaz Sheikh <ofrobots@google.com>
Diffstat (limited to 'deps/v8/src/regexp')
-rw-r--r-- | deps/v8/src/regexp/jsregexp.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/deps/v8/src/regexp/jsregexp.cc b/deps/v8/src/regexp/jsregexp.cc index ddb4a16caf..bbbfbeb799 100644 --- a/deps/v8/src/regexp/jsregexp.cc +++ b/deps/v8/src/regexp/jsregexp.cc @@ -5879,6 +5879,7 @@ Vector<const int> CharacterRange::GetWordBounds() { void CharacterRange::AddCaseEquivalents(Isolate* isolate, Zone* zone, ZoneList<CharacterRange>* ranges, bool is_one_byte) { + CharacterRange::Canonicalize(ranges); int range_count = ranges->length(); for (int i = 0; i < range_count; i++) { CharacterRange range = ranges->at(i); |