diff --git a/jerry-main/main-unix-snapshot.c b/jerry-main/main-unix-snapshot.c index 82e090683..af66e2626 100644 --- a/jerry-main/main-unix-snapshot.c +++ b/jerry-main/main-unix-snapshot.c @@ -172,7 +172,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ return; } - jerry_size_t err_str_size = jerry_get_string_size (err_str_val); + jerry_size_t err_str_size = jerry_get_utf8_string_size (err_str_val); if (err_str_size >= 256) { @@ -182,7 +182,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ } jerry_char_t err_str_buf[256]; - jerry_size_t string_end = jerry_string_to_char_buffer (err_str_val, err_str_buf, err_str_size); + jerry_size_t string_end = jerry_string_to_utf8_char_buffer (err_str_val, err_str_buf, err_str_size); assert (string_end == err_str_size); err_str_buf[string_end] = 0; diff --git a/jerry-main/main-unix.c b/jerry-main/main-unix.c index cc91b60cd..2020bd0c8 100644 --- a/jerry-main/main-unix.c +++ b/jerry-main/main-unix.c @@ -118,7 +118,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ if (!jerry_value_is_error (item_val) && jerry_value_is_string (item_val)) { - jerry_size_t str_size = jerry_get_string_size (item_val); + jerry_size_t str_size = jerry_get_utf8_string_size (item_val); if (str_size >= 256) { @@ -126,7 +126,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ } else { - jerry_size_t string_end = jerry_string_to_char_buffer (item_val, err_str_buf, str_size); + jerry_size_t string_end = jerry_string_to_utf8_char_buffer (item_val, err_str_buf, str_size); assert (string_end == str_size); err_str_buf[string_end] = 0; @@ -141,7 +141,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ } jerry_value_t err_str_val = jerry_value_to_string (error_value); - jerry_size_t err_str_size = jerry_get_string_size (err_str_val); + jerry_size_t err_str_size = jerry_get_utf8_string_size (err_str_val); if (err_str_size >= 256) { diff --git a/targets/curie_bsp/jerry_app/quark/main.c b/targets/curie_bsp/jerry_app/quark/main.c index b14b532c9..2aee9143f 100644 --- a/targets/curie_bsp/jerry_app/quark/main.c +++ b/targets/curie_bsp/jerry_app/quark/main.c @@ -48,9 +48,9 @@ void jerry_resolve_error (jerry_value_t ret_value) { ret_value = jerry_get_value_from_error (ret_value, true); jerry_value_t err_str_val = jerry_value_to_string (ret_value); - jerry_size_t err_str_size = jerry_get_string_size (err_str_val); + jerry_size_t err_str_size = jerry_get_utf8_string_size (err_str_val); jerry_char_t *err_str_buf = (jerry_char_t *) balloc (err_str_size, NULL); - jerry_size_t sz = jerry_string_to_char_buffer (err_str_val, err_str_buf, err_str_size); + jerry_size_t sz = jerry_string_to_utf8_char_buffer (err_str_val, err_str_buf, err_str_size); err_str_buf[sz] = 0; printk ("Script Error: unhandled exception: %s\n", err_str_buf); bfree(err_str_buf); diff --git a/targets/esp8266/user/jerry_extapi.c b/targets/esp8266/user/jerry_extapi.c index 8b5afb088..96395b1d0 100644 --- a/targets/esp8266/user/jerry_extapi.c +++ b/targets/esp8266/user/jerry_extapi.c @@ -55,7 +55,7 @@ DELCARE_HANDLER(print) { { if (jerry_value_is_string (args_p[cc])) { - jerry_size_t size = jerry_get_string_size (args_p[0]); + jerry_size_t size = jerry_get_utf8_string_size (args_p[0]); char *buffer; buffer = (char *) malloc(size + 1); @@ -66,9 +66,9 @@ DELCARE_HANDLER(print) { continue; } - jerry_string_to_char_buffer (args_p[cc], - (jerry_char_t *) buffer, - size); + jerry_string_to_utf8_char_buffer (args_p[cc], + (jerry_char_t *) buffer, + size); *(buffer + size) = 0; printf("%s ", buffer); free (buffer); diff --git a/targets/nuttx-stm32f4/jerry_main.c b/targets/nuttx-stm32f4/jerry_main.c index 36d10f38a..1afd18e45 100644 --- a/targets/nuttx-stm32f4/jerry_main.c +++ b/targets/nuttx-stm32f4/jerry_main.c @@ -160,7 +160,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ error_value = jerry_get_value_from_error (error_value, false); jerry_value_t err_str_val = jerry_value_to_string (error_value); - jerry_size_t err_str_size = jerry_get_string_size (err_str_val); + jerry_size_t err_str_size = jerry_get_utf8_string_size (err_str_val); jerry_char_t err_str_buf[256]; jerry_release_value (error_value); diff --git a/targets/tizenrt-artik053/apps/jerryscript/jerry_main.c b/targets/tizenrt-artik053/apps/jerryscript/jerry_main.c index b407f2d19..490844da4 100644 --- a/targets/tizenrt-artik053/apps/jerryscript/jerry_main.c +++ b/targets/tizenrt-artik053/apps/jerryscript/jerry_main.c @@ -132,7 +132,7 @@ print_unhandled_exception (jerry_value_t error_value) /**< error value */ error_value = jerry_get_value_from_error (error_value, false); jerry_value_t err_str_val = jerry_value_to_string (error_value); - jerry_size_t err_str_size = jerry_get_string_size (err_str_val); + jerry_size_t err_str_size = jerry_get_utf8_string_size (err_str_val); jerry_char_t err_str_buf[256]; jerry_release_value (error_value); diff --git a/tests/jerry/fail/regression-test-issue-2993.js b/tests/jerry/fail/regression-test-issue-2993.js new file mode 100644 index 000000000..8488541f9 --- /dev/null +++ b/tests/jerry/fail/regression-test-issue-2993.js @@ -0,0 +1,15 @@ +// Copyright JS Foundation and other contributors, http://js.foundation +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +throw new SyntaxError("𐐀");