From dcc704d1e83538435f2fc3a32164f97603834905 Mon Sep 17 00:00:00 2001 From: Roland Takacs Date: Wed, 15 Jul 2015 11:18:37 +0200 Subject: [PATCH] Add missing case for backspace control character in JSON.parse() JerryScript-DCO-1.0-Signed-off-by: Roland Takacs rtakacs.u-szeged@partner.samsung.com --- jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp | 5 +++++ tests/jerry/json-parse.js | 2 ++ 2 files changed, 7 insertions(+) diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp b/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp index 07a9c38f0..689728e67 100644 --- a/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp +++ b/jerry-core/ecma/builtin-objects/ecma-builtin-json.cpp @@ -163,6 +163,11 @@ ecma_builtin_json_parse_string (ecma_json_token_t *token_p) /**< token argument *current_p = '\t'; break; } + case 'b': + { + *current_p = '\b'; + break; + } default: { return; diff --git a/tests/jerry/json-parse.js b/tests/jerry/json-parse.js index 0c3252b76..c15ad599e 100644 --- a/tests/jerry/json-parse.js +++ b/tests/jerry/json-parse.js @@ -38,6 +38,8 @@ str = '-32.5e002'; assert (JSON.parse (str) == -3250); str = '"str"'; assert (JSON.parse (str) == "str"); +str = '"\\b\\f\\n\\t\\r"' +assert (JSON.parse (str) === "\b\f\n\t\r"); check_parse_error ('undefined'); check_parse_error ('falses');