From 094d5fc31aa2f6bbb844e48374a9e57e51ee8727 Mon Sep 17 00:00:00 2001 From: legendecas Date: Wed, 25 May 2022 23:29:29 +0800 Subject: [PATCH] src: fix json utils escapes for U+000B PR-URL: https://github.com/nodejs/node/pull/43206 Fixes: https://github.com/nodejs/node/issues/43193 Reviewed-By: Richard Lau Reviewed-By: Michael Dawson Reviewed-By: Minwoo Jung Reviewed-By: James M Snell --- src/json_utils.cc | 10 +++++----- test/cctest/test_json_utils.cc | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/json_utils.cc b/src/json_utils.cc index 96f178cf351d96..aa667ccc90471b 100644 --- a/src/json_utils.cc +++ b/src/json_utils.cc @@ -5,11 +5,11 @@ namespace node { std::string EscapeJsonChars(const std::string& str) { const std::string control_symbols[0x20] = { "\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", - "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\v", "\\f", "\\r", - "\\u000e", "\\u000f", "\\u0010", "\\u0011", "\\u0012", "\\u0013", - "\\u0014", "\\u0015", "\\u0016", "\\u0017", "\\u0018", "\\u0019", - "\\u001a", "\\u001b", "\\u001c", "\\u001d", "\\u001e", "\\u001f" - }; + "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\u000b", + "\\f", "\\r", "\\u000e", "\\u000f", "\\u0010", "\\u0011", + "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017", + "\\u0018", "\\u0019", "\\u001a", "\\u001b", "\\u001c", "\\u001d", + "\\u001e", "\\u001f"}; std::string ret; size_t last_pos = 0; diff --git a/test/cctest/test_json_utils.cc b/test/cctest/test_json_utils.cc index 06a9074a61baf1..3d5a7892117064 100644 --- a/test/cctest/test_json_utils.cc +++ b/test/cctest/test_json_utils.cc @@ -12,11 +12,11 @@ TEST(JSONUtilsTest, EscapeJsonChars) { const std::string expected[0x20] = { "\\u0000", "\\u0001", "\\u0002", "\\u0003", "\\u0004", "\\u0005", - "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\v", "\\f", "\\r", - "\\u000e", "\\u000f", "\\u0010", "\\u0011", "\\u0012", "\\u0013", - "\\u0014", "\\u0015", "\\u0016", "\\u0017", "\\u0018", "\\u0019", - "\\u001a", "\\u001b", "\\u001c", "\\u001d", "\\u001e", "\\u001f" - }; + "\\u0006", "\\u0007", "\\b", "\\t", "\\n", "\\u000b", + "\\f", "\\r", "\\u000e", "\\u000f", "\\u0010", "\\u0011", + "\\u0012", "\\u0013", "\\u0014", "\\u0015", "\\u0016", "\\u0017", + "\\u0018", "\\u0019", "\\u001a", "\\u001b", "\\u001c", "\\u001d", + "\\u001e", "\\u001f"}; for (int i = 0; i < 0x20; ++i) { char symbols[1] = { static_cast(i) }; std::string input(symbols, 1);