Fix:Polynomial-time regular expressions #2814
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes two cases where there was a possibility of polynomial-time being required to process regular expressions in
ddtrace
.These regular expressions have been modified but still match their desired input.
The main changes were:
*+
in this case): this means that*
will not allow backtracing after it has matched a character, even if this means that the complete regex match will fail..
) to "not ]" ([^\]]
) when matching IPv6 addresses. This is import because the next character match in the regular expression is]
, which means.
might try to match it but not[^\]]
.