Potential fix for code scanning alert no. 5: Incomplete string escaping or encoding #3
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.
Potential fix for https://github.com/Enflame-Media/happy-server/security/code-scanning/5
In general, to fix incomplete escaping/encoding, ensure that all characters that are special in the target context are consistently escaped. Here, for an HTTP
quoted-stringused in theServer-Timingheader, both the backslash (\) and the double quote (") must be escaped. Doing only"is incomplete.The best targeted fix without changing functionality is to update the
formatTimingEntryfunction so that, whenentry.descis present, we first escape backslashes, then escape double quotes on the already-escaped string. The order matters: we must escape\before", otherwise we might double-escape backslashes that we introduce during escaping. A simple and correct implementation is:This change is localized to
formatTimingEntryinsrc/middleware/timing.tsaround line 79. No new imports or additional helper functions are required; we just modify the string construction to perform both replacements.Suggested fixes powered by Copilot Autofix. Review carefully before merging.