Tests: Added new pattern check for octal escapes #2189
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 adds a new pattern check to disallow octal character escapes (e.g.
\12
). Octal escapes are not allowed in Unicode mode and for good reasons. They look like back-references and are a potential cause for problems because of it. E.g.\2
can back-reference or the octal escape for\x02
depending on how many capturing groups the pattern has. This is a problem when (re-)writing patterns as removing a capturing group can break the back-reference but will still result in a valid regex.I even found a pattern with this problem. My own.
In #1892, I copied the here-doc string pattern from bash and probably removed a capturing group after verifying that everything works breaking my pattern.
This problem is no more and I also remove an unnecessary non-capturing group in bash.