| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent d221cdc commit 0bd8e14
3 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -36,7 +36,7 @@ | |||
| 36 | 36 | ||
| 37 | 37 | # Reset this number to 0 on major V8 upgrades. | |
| 38 | 38 | # Increment by one for each non-official patch applied to deps/v8. | |
| 39 | - 'v8_embedder_string': '-node.46', | ||
| 39 | + 'v8_embedder_string': '-node.47', | ||
| 40 | 40 | ||
| 41 | 41 | ##### V8 defaults for Node.js ##### | |
| 42 | 42 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2536,7 +2536,16 @@ int ChoiceNode::GreedyLoopTextLengthForAlternative( | |||
| 2536 | 2536 | SeqRegExpNode* seq_node = static_cast<SeqRegExpNode*>(node); | |
| 2537 | 2537 | node = seq_node->on_success(); | |
| 2538 | 2538 | } | |
| 2539 | - return read_backward() ? -length : length; | ||
| 2539 | + if (read_backward()) { | ||
| 2540 | + length = -length; | ||
| 2541 | + } | ||
| 2542 | + // Check that we can jump by the whole text length. If not, return sentinel | ||
| 2543 | + // to indicate the we can't construct a greedy loop. | ||
| 2544 | + if (length < RegExpMacroAssembler::kMinCPOffset || | ||
| 2545 | + length > RegExpMacroAssembler::kMaxCPOffset) { | ||
| 2546 | + return kNodeIsTooComplexForGreedyLoops; | ||
| 2547 | + } | ||
| 2548 | + return length; | ||
| 2540 | 2549 | } | |
| 2541 | 2550 | ||
| 2542 | 2551 | void LoopChoiceNode::AddLoopAlternative(GuardedAlternative alt) { | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -4,4 +4,4 @@ | |||
| 4 | 4 | ||
| 5 | 5 | let badregexp = "(?:" + " ".repeat(32768*2)+ ")*"; | |
| 6 | 6 | reg = RegExp(badregexp); | |
| 7 | - reg.test() | ||
| 7 | + assertThrows(() => reg.test(), SyntaxError); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments