Replace manual quote escaping with %q format specifier for YAML encoding #11392
+1
−1
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.
The security fix for CodeQL alert #538 (go/unsafe-quoting) was using manual shell-style quote escaping (
'\'') for JSON data embedded in a YAML dictionary value, which is unnecessary and incorrect for YAML context.Changes
%qformat specifier - Go's%qprovides proper quoting and escaping for string literals, handling special characters correctly for YAMLstrings.ReplaceAll()calls for backslashes and quotesBefore/After
Before (manual shell escaping):
After (Go format specifier):
The
%qformat specifier produces a properly quoted Go string literal that is safe for YAML parsing while still preventing injection attacks.💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.