ab1d9383b9
This PR was squashed before being merged into the 2.7 branch (closes #21523).
Discussion
----------
#20411 fix Yaml parsing for very long quoted strings
| Q | A
| ------------- | ---
| Branch? | 2.7
| Bug fix? | yes
| New feature? | no
| BC breaks? | no
| Deprecations? | no
| Tests pass? | yes
| Fixed tickets | #20411
| License | MIT
| Doc PR | no
This is a second fix for the issue discussed in #20411. My first PR (#21279) didn't fix the bug in all cases, sorry.
If a YAML string has too many spaces in the value, it can trigger a `PREG_BACKTRACK_LIMIT_ERROR` error in the Yaml parser.
There should be no behavioural change other than the bug fix
I have included a test which fails before this fix and passes after this fix.
I have also added checks that detect other PCRE internal errors and throw a more descriptive exception. Before this patch, the YAML engine would often give incorrect results, rather than throwing, on a PCRE `PREG_BACKTRACK_LIMIT_ERROR` error.
Commits
-------
|
||
---|---|---|
.. | ||
Exception | ||
Tests | ||
.gitignore | ||
CHANGELOG.md | ||
composer.json | ||
Dumper.php | ||
Escaper.php | ||
Inline.php | ||
LICENSE | ||
Parser.php | ||
phpunit.xml.dist | ||
README.md | ||
Unescaper.php | ||
Yaml.php |
Yaml Component
The Yaml component loads and dumps YAML files.