Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork9.7k
Fix double escaping of the decision attributes in the profiler#21387
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
Uh oh!
There was an error while loading.Please reload this page.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
A ternary operator is considered safe by the Twig auto-escaping only whenboth branches are safe. But this ternary was safe only in the ELSE branch,causing it to be unsafe. This triggered a double-escaping of the value(escaping the output of the dump). The fix is to use a {% if %} and 2 separateoutput statements, allowing them to be auto-escaped separately.MemberAuthor
stof commentedJan 24, 2017
Note that 3.1 is not affected, because |
Contributor
linaori commentedJan 24, 2017
Okay, I have to admit, I would not have guessed this was even possible 😆 |
Member
nicolas-grekas commentedJan 24, 2017
Good catch, thanks@stof. |
nicolas-grekas added a commit that referenced this pull requestJan 24, 2017
…iler (stof)This PR was merged into the 3.2 branch.Discussion----------Fix double escaping of the decision attributes in the profiler| Q | A| ------------- | ---| Branch? | 3.2| Bug fix? | yes| New feature? | no| BC breaks? | no| Deprecations? | no| Tests pass? | yes| Fixed tickets |#21384| License | MIT| Doc PR | n/aA ternary operator is considered safe by the Twig auto-escaping only when both branches are safe. But this ternary was safe only in the ELSE branch, causing it to be unsafe. This triggered a double-escaping of the value (escaping the output of the dump). The fix is to use a {% if %} and 2 separate output statements, allowing them to be auto-escaped separately.Commits-------bc1f084 Fix double escaping of the decision attributes in the profiler
Member
javiereguiluz commentedJan 24, 2017
@stof super nice catch! Thanks for the fix and the explanation. |
Merged
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
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.
A ternary operator is considered safe by the Twig auto-escaping only when both branches are safe. But this ternary was safe only in the ELSE branch, causing it to be unsafe. This triggered a double-escaping of the value (escaping the output of the dump). The fix is to use a {% if %} and 2 separate output statements, allowing them to be auto-escaped separately.