[SERVER-59601] PCRE 8.42+ fails to match some regex start verbs Created: 26/Aug/21  Updated: 30/Sep/21  Resolved: 29/Sep/21

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Ryan Egesdahl (Inactive) Assignee: Ryan Egesdahl (Inactive)
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Operating System: ALL
Backport Requested:
v5.0, v4.4, v4.2
Sprint: Dev Platform 2021-09-06, Dev Platform 2021-09-20, Dev Platform 2021-10-04
Participants:

 Description   

There's a logic error in PCRE versions 8.42+ that can cause some valid PCRE regex start verbs to cause a regex compile error. It just so happens that we don't run into this bug on PCRE 8.42 with the regexes in our unit tests, but it was revealed while upgrading to version 8.45 in SERVER-58705 because the order of the items start_options array had changed.

Additionally, multiple start verbs is legal in PCRE, but that also would not have worked properly in all cases because any verbs after the first would have been wrapped in a non-capturing group, which is what causes the above error as well.



 Comments   
Comment by Ryan Egesdahl (Inactive) [ 29/Sep/21 ]

Instead of upgrading, we're going to simply backport the fix in SERVER-60299. An upgrade to PCRE2 is being tracked in PM-1878.

Generated at Thu Feb 08 05:47:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.