1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:07:47 +00:00

AK+Kernel: Avoid unescaped control chars in append_escaped_for_json()

Otherwise it could produce invalid JSON.
This commit is contained in:
Ali Mohammad Pur 2021-09-11 16:50:31 +04:30 committed by Ali Mohammad Pur
parent e1e91f6c85
commit 27e3589f61
2 changed files with 8 additions and 8 deletions

View file

@ -101,9 +101,6 @@ KResult KBufferBuilder::append_escaped_for_json(const StringView& string)
{
for (auto ch : string) {
switch (ch) {
case '\e':
TRY(append("\\u001B"));
break;
case '\b':
TRY(append("\\b"));
break;
@ -120,7 +117,10 @@ KResult KBufferBuilder::append_escaped_for_json(const StringView& string)
TRY(append("\\\\"));
break;
default:
TRY(append(ch));
if (ch >= 0 && ch <= 0x1f)
TRY(append(String::formatted("\\u{:04x}", ch)));
else
TRY(append(ch));
}
}
return KSuccess;