Fix stack overflow in unit-core/test-api.c (#3125)
We have to use jerry_get_string_size() to get the necessary buffer size instead of jerry_get_string_length() and jerry_json_stringify(). JerryScript-DCO-1.0-Signed-off-by: Csaba Osztrogonác oszi@inf.u-szeged.hu
This commit is contained in:
committed by
Dániel Bátyai
parent
4452e79204
commit
62f8d7c885
@@ -943,7 +943,7 @@ main (void)
|
|||||||
jerry_release_value (has_prop_js);
|
jerry_release_value (has_prop_js);
|
||||||
jerry_value_t parsed_data = jerry_get_property (parsed_json, key);
|
jerry_value_t parsed_data = jerry_get_property (parsed_json, key);
|
||||||
TEST_ASSERT (jerry_value_is_string (parsed_data)== true);
|
TEST_ASSERT (jerry_value_is_string (parsed_data)== true);
|
||||||
jerry_size_t buff_size = (jerry_size_t) jerry_get_string_length (parsed_data);
|
jerry_size_t buff_size = jerry_get_string_size (parsed_data);
|
||||||
JERRY_VLA (char, buff, buff_size + 1);
|
JERRY_VLA (char, buff, buff_size + 1);
|
||||||
jerry_string_to_char_buffer (parsed_data, (jerry_char_t *) buff, buff_size);
|
jerry_string_to_char_buffer (parsed_data, (jerry_char_t *) buff, buff_size);
|
||||||
buff[buff_size] = '\0';
|
buff[buff_size] = '\0';
|
||||||
@@ -965,10 +965,10 @@ main (void)
|
|||||||
jerry_release_value (res);
|
jerry_release_value (res);
|
||||||
jerry_value_t stringified = jerry_json_stringify (obj);
|
jerry_value_t stringified = jerry_json_stringify (obj);
|
||||||
TEST_ASSERT (jerry_value_is_string (stringified));
|
TEST_ASSERT (jerry_value_is_string (stringified));
|
||||||
JERRY_VLA (char, buff, stringified);
|
jerry_size_t buff_size = jerry_get_string_size (stringified);
|
||||||
jerry_string_to_char_buffer (stringified, (jerry_char_t *) buff,
|
JERRY_VLA (char, buff, buff_size + 1);
|
||||||
(jerry_size_t) jerry_get_string_length (stringified));
|
jerry_string_to_char_buffer (stringified, (jerry_char_t *) buff, buff_size);
|
||||||
buff[jerry_get_string_length (stringified)] = '\0';
|
buff[buff_size] = '\0';
|
||||||
TEST_ASSERT (strcmp ((const char *) check_value, (const char *) buff) == 0);
|
TEST_ASSERT (strcmp ((const char *) check_value, (const char *) buff) == 0);
|
||||||
jerry_release_value (stringified);
|
jerry_release_value (stringified);
|
||||||
jerry_release_value (obj);
|
jerry_release_value (obj);
|
||||||
|
|||||||
Reference in New Issue
Block a user